機(jī)器語(yǔ)言[ ]
在計(jì)算機(jī)系統(tǒng)中,一條機(jī)器指令規(guī)定了計(jì)算機(jī)系統(tǒng)的一個(gè)特定動(dòng)作。一個(gè)系列的計(jì)算機(jī)在硬件設(shè)計(jì)制造時(shí)就用了若干指令規(guī)定了該系列計(jì)算機(jī)能夠進(jìn)行的基本操作,這些指令一起構(gòu)成了該系列計(jì)算機(jī)的指令系統(tǒng)。在計(jì)算機(jī)應(yīng)用的初期,程序員使用機(jī)器的指令系統(tǒng)來(lái)編寫(xiě)計(jì)算機(jī)應(yīng)用程序,這種程序稱(chēng)為機(jī)器語(yǔ)言程序。使用機(jī)器語(yǔ)言編寫(xiě)的程序,由于每條指令都對(duì)應(yīng)計(jì)算機(jī)一個(gè)特定的基本動(dòng)作,所以程序占用內(nèi)存少、執(zhí)行效率高。缺點(diǎn)也很明顯,如:編程工作量大,容易出錯(cuò);依賴(lài)具體的計(jì)算機(jī)體系,因而程序的通用性、移植性都很差。
匯編語(yǔ)言[ ]
為了解決使用機(jī)器語(yǔ)言編寫(xiě)應(yīng)用程序所帶來(lái)的一系列問(wèn)題,人們首先想到了使用助記符號(hào)來(lái)代替不容易記憶的機(jī)器指令。這種助記符號(hào)來(lái)表示計(jì)算機(jī)指令的語(yǔ)言稱(chēng)為符號(hào)語(yǔ)言,也稱(chēng)匯編語(yǔ)言。在匯編語(yǔ)言中,每一條用符號(hào)來(lái)表示的匯編指令與計(jì)算機(jī)機(jī)器指令一一對(duì)應(yīng);記憶難度大大減少了,不僅易于檢查和修改程序錯(cuò)誤,而且指令、數(shù)據(jù)的存放位置可以有計(jì)算機(jī)自動(dòng)分配。
用匯編語(yǔ)言編寫(xiě)的程序稱(chēng)為源程序,計(jì)算機(jī)不能直接識(shí)別和處理源程序,必須通過(guò)某種方法將它翻譯成為計(jì)算機(jī)能夠理解并執(zhí)行的機(jī)器語(yǔ)言,執(zhí)行這個(gè)翻譯工作的程序稱(chēng)為匯編程序。
使用匯編語(yǔ)言編寫(xiě)計(jì)算機(jī)程序,程序員仍然需要十分熟悉計(jì)算機(jī)系統(tǒng)的硬件結(jié)構(gòu),所以從程序設(shè)計(jì)本身上來(lái)看仍然是低效率的、煩瑣的。但正是由于匯編語(yǔ)言與計(jì)算機(jī)硬件系統(tǒng)關(guān)系密切,在某些特定的場(chǎng)合,如對(duì)時(shí)空效率要求很高的系統(tǒng)核心程序以及實(shí)時(shí)控制程序等,迄今為止匯編語(yǔ)言仍然是十分有效的程序設(shè)計(jì)工具。
高級(jí)語(yǔ)言[ ]
高級(jí)語(yǔ)言是一類(lèi)接近于人類(lèi)自然語(yǔ)言和數(shù)學(xué)語(yǔ)言的程序設(shè)計(jì)語(yǔ)言的統(tǒng)稱(chēng)。按照其程序設(shè)的計(jì)出發(fā)點(diǎn)和方式不同,高級(jí)語(yǔ)言分為了面向過(guò)程的語(yǔ)言和面向?qū)ο蟮恼Z(yǔ)言,如Fortran語(yǔ)言、C語(yǔ)言等都是面向過(guò)程的語(yǔ)言;而以C++、Smalltalk等為代表的面向?qū)ο蟮恼Z(yǔ)言與面向過(guò)程語(yǔ)言有著許多不同,這些語(yǔ)言支持“程序是相互聯(lián)系的離散對(duì)象集合”,這樣一種新的程序設(shè)計(jì)思維方式,具有封裝性、繼承性和多態(tài)性等特征。
高級(jí)語(yǔ)言按照一定的語(yǔ)法規(guī)則,由表達(dá)各種意義的運(yùn)算對(duì)象和運(yùn)算方法構(gòu)成。使用高級(jí)語(yǔ)言編寫(xiě)程序的優(yōu)點(diǎn)是:編程相對(duì)簡(jiǎn)單、直觀、易理解、不容易出錯(cuò);高級(jí)語(yǔ)言是獨(dú)立與計(jì)算機(jī)的,因而用高級(jí)語(yǔ)言編寫(xiě)的計(jì)算機(jī)程序通用性好,具有較好的移植性。
用高級(jí)語(yǔ)言編寫(xiě)的程序稱(chēng)為源程序,計(jì)算機(jī)系統(tǒng)不能直接理解和執(zhí)行,必須通過(guò)一個(gè)語(yǔ)言處理系統(tǒng)將其轉(zhuǎn)換為計(jì)算機(jī)系統(tǒng)能夠認(rèn)識(shí)、理解的目標(biāo)程序才能成為計(jì)算機(jī)系統(tǒng)執(zhí)行。
發(fā)展歷程[ ]
- 1946:Konrad Zuse,一位德國(guó)工程師,他躲藏在巴伐利亞附近的阿爾卑斯山上時(shí),獨(dú)立開(kāi)發(fā)了Plankalkul。他把該項(xiàng)成果應(yīng)用在其它的事物中,比如國(guó)際象棋。
- 1949:Short Code ,第一種真正在電子計(jì)算設(shè)備上使用的計(jì)算機(jī)語(yǔ)言,盡管他是一個(gè)純手工編譯的的語(yǔ)言。
- 1951:Grace Hopper,為Remington Rand工作,是在第一個(gè)著名的編譯器——A-o上開(kāi)始設(shè)計(jì)工作。當(dāng)Rand在1957年發(fā)布這個(gè)語(yǔ)言時(shí),它被稱(chēng)為MATH-MATIC。
- 1952:Alick E. Glennie ,他利用自己在曼徹斯特大學(xué)的課余時(shí)間,發(fā)明了一個(gè)名為AUTOCODE的編程系統(tǒng),一個(gè)未能成型的編譯器。
- 1957:FORTRAN——數(shù)學(xué)公式轉(zhuǎn)換系統(tǒng)(FORmula TRANslating,F(xiàn)ORTRAN名字的由來(lái))——出現(xiàn)。開(kāi)發(fā)隊(duì)伍的領(lǐng)導(dǎo)者是John Backus,并且他還為ALGOL的開(kāi)發(fā)和巴柯斯范式(BNF)做出了貢獻(xiàn)。
- 1958:FORTRAN II出現(xiàn),它能夠處理子程序和連接匯編語(yǔ)言。由M.I.T的John McCarthy在LISP-LISt Processing上開(kāi)始設(shè)計(jì)工作。原始ALGOL規(guī)范出現(xiàn)。該規(guī)范并未描述數(shù)據(jù)的輸入輸出方式;這些問(wèn)題都留給獨(dú)立的實(shí)現(xiàn)者。
- 1959:LISP1.5出現(xiàn)。COBOL在數(shù)據(jù)系統(tǒng)和語(yǔ)言大會(huì)(Conference on Data System and Languages)上被創(chuàng)建了。
- 1960:ALGOL 60 ,第一種結(jié)構(gòu)化語(yǔ)言出現(xiàn)。它是結(jié)構(gòu)化語(yǔ)言家族樹(shù)中的根節(jié)點(diǎn),并最終產(chǎn)生Pascal這樣的語(yǔ)言。ALGOL成為六十年代中期至末期歐洲最為流行的語(yǔ)言。六十年代早期,Kenneth Iverson開(kāi)始語(yǔ)言方面的工作,最終產(chǎn)生了APL-A編程語(yǔ)言。它使用專(zhuān)門(mén)的字符集,為了正確地使用,你還需要兼容APL的I/O設(shè)備。
- 1962:APL被寫(xiě)入Iverson的《A Programming Language》一書(shū)中。SNOBOL這個(gè)以“首字母拼詞命名”的產(chǎn)品,在工作的初期就取得了絕對(duì)的成功,SNOBOL——面向字符串符號(hào)(StriNg Oriented symBOlic Language)語(yǔ)言。它衍生了其他一些以首字母拼詞命名的產(chǎn)品: FASBOL,一個(gè)SNOBOL編譯器(1971年),還有SPITBOL——Speedy ImplemenTation of snoBOL——同樣在1971年。
- 1963:ALGOL 60進(jìn)行修正。
- 1964:APL\360被實(shí)現(xiàn),在達(dá)特茅斯大學(xué),John G.Kemeny和Thomas E.Kurtz教授發(fā)明了BASIC。最初的實(shí)現(xiàn)是一個(gè)編譯器。第一個(gè)BASIC程序在1964年五月一日下午四點(diǎn)運(yùn)行。PL/1發(fā)布。
- 1965:SNOBOL3出現(xiàn)。
- 1966:FORTRAN 66出現(xiàn)。在Bolt,Beranek和Newman開(kāi)始了LOGO的工作。小組的頭是Wally Fuerzeig,而且還包括Seymour Papert。LOGO中最著名的便是“龜作圖”。
- 1967:SNOBOL4,功能獲得極大加強(qiáng)的SNOBOL,出現(xiàn)了。
- 1968:ALGOL 68,相對(duì)于ALGOL 60它是個(gè)怪物。一些規(guī)范委員會(huì)的成員——包括C.A.R.Hoare和Niklaus Wirth——卻贊同該計(jì)劃。事實(shí)證明ALGOL 68是難以實(shí)現(xiàn)的。
- 1969:500人參加在紐約Armonk的IBM總部召開(kāi)的APL會(huì)議。APL的分發(fā)需求如此之大,該活動(dòng)此后被人們稱(chēng)為“The March on Armonk”。
- 1970:70年代早期,Charles Moore在他的語(yǔ)言Forth中寫(xiě)下了第一個(gè)有意義的程序。
- 1972:Konrad Zuse寫(xiě)的關(guān)于Plankalkul(見(jiàn)1946年)手稿終于出版了,Dennis Ritchie設(shè)計(jì)了C。但是最終的參考手冊(cè)卻是在1974年發(fā)布的。
- 1974:另一個(gè)COBOL的ANSI規(guī)范出現(xiàn)。
- 1975:Tiny BASIC,由Bob Albrecht和Dennis Allison設(shè)計(jì)(由Dick Whipple和John Arnold實(shí)現(xiàn)),運(yùn)行在2KB內(nèi)存的微型計(jì)算機(jī)上。一臺(tái)4KB的機(jī)器是較為合適的,它將有2KB的內(nèi)存應(yīng)用于這個(gè)程序上。
- 1976:Design System Language出現(xiàn),它被認(rèn)為是PostScript的先驅(qū)。[6]
- 1977:MUMPS的ANSI標(biāo)準(zhǔn)出現(xiàn)——麻省總醫(yī)院多用途程序設(shè)計(jì)系統(tǒng)(Massachusetts General Hospital Utility Multi-Programming System)。MUMPS最初被用來(lái)處理醫(yī)療記錄,它只能識(shí)別字符串類(lèi)型。隨后被重新命名為M。
- 1978:AWK——一個(gè)文本處理語(yǔ)言,以它設(shè)計(jì)者Aho、Weinberger和Kernighan的名字命名,FORTRAN 77的ANSI標(biāo)準(zhǔn)出現(xiàn)。
- 1980:Smalltalk-80出現(xiàn),Bjarne Stroustrup開(kāi)發(fā)了一個(gè)語(yǔ)言集——被總稱(chēng)為“C With Classes”——它成為C++的滋生土壤。
- 1981:Effort開(kāi)始成為一個(gè)LISP的“公共方言”,常被人稱(chēng)作Common LISP。
- 1982:ISO Pascal出現(xiàn)。
- 1983:Smalltalk-80公布:它由Goldberg等人完成。
- 1983:的后期和1984年早期,微軟和Digital Research共同發(fā)布第一個(gè)微型計(jì)算機(jī)的C編譯器,第一個(gè)C++實(shí)現(xiàn)露面。該名稱(chēng)是由Rick Mascitti取的。
- 1984:APL2的參考手冊(cè)面世。APL2是APL的擴(kuò)展,它允許嵌套數(shù)組。
- 1985:Forth控制著潛水器定位泰坦尼克的殘骸。
- 1986:Smalltalk/V露面——第一個(gè)廣泛應(yīng)用于微機(jī)的Smalltalk版本。
- 1987:Turbo Pascal 4.0發(fā)布。
- 1988:CLOS規(guī)范——公共LISP對(duì)象系統(tǒng)(Common LISP Object System)——發(fā)表。
- 1989:ANSI C規(guī)范公布,C++2.0形成了一個(gè)參考手冊(cè)的初稿。2.0版本增加了諸如多繼承和成員指針等特性。
- 1990:C++2.1,B.Stroustrup等作者的《Annotated C++ Reference Manual》一書(shū)出版。這個(gè)版本增加了模板和異常處理特性。
- 1991:Visual Basic在COMDEX春展會(huì)上獲得《BYTE》雜志頒發(fā)的最佳表現(xiàn)獎(jiǎng)。
- 1992:Dylan——以Dylan Thomas命名——由Apple公司發(fā)布的一個(gè)類(lèi)似Scheme的面向?qū)ο笳Z(yǔ)言。
- 1993:ANSI發(fā)布X3J4.1技術(shù)報(bào)告——面向?qū)ο蟮腃OBOL提議初稿。真正的標(biāo)準(zhǔn)預(yù)計(jì)在1997年完成。
- 1994:微軟將Visual Basic for Application整合到Excel中。
- 1995:二月,ISO接受Ada語(yǔ)言1995修訂版。它被稱(chēng)為Ada95,其中包括OOP特性和支持實(shí)時(shí)系統(tǒng)。
- 1996:第一個(gè)ANSI C++標(biāo)準(zhǔn)預(yù)發(fā)布。
語(yǔ)言目錄[ ]
- CSS Cascading Style Sheets 層疊樣式表
- .NET 是微軟2002年,為開(kāi)發(fā)應(yīng)用程序創(chuàng)建的一個(gè)富有革命性的新平臺(tái)
- ActionScript ActionScript是Flash的腳本語(yǔ)言,與JavaScript相似,ActionScript是一種面向?qū)ο缶幊陶Z(yǔ)言。
- APL、A+和J
- Ada Ada是一種表現(xiàn)能力很強(qiáng)的通用程序設(shè)計(jì)語(yǔ)言
- 匯編語(yǔ)言 匯編語(yǔ)言(Assembly Language)是面向機(jī)器的程序設(shè)計(jì)語(yǔ)言
- AWK AWK是一種優(yōu)良的文本處理工具
- Basic 是一種設(shè)計(jì)給初學(xué)者使用的程序設(shè)計(jì)語(yǔ)言
- QBasic QBASIC是BASIC(Beginner's All-purpose Symbolic Instruction Code,初學(xué)者通用指令代碼)語(yǔ)言的一個(gè)變種,由美國(guó)微軟公司開(kāi)發(fā)
- Visual Basic Visual Basic(VB)是一種由微軟公司開(kāi)發(fā)的包含協(xié)助開(kāi)發(fā)環(huán)境的事件驅(qū)動(dòng)編程語(yǔ)言
- VBScript VBScript是Visual Basic Script的簡(jiǎn)稱(chēng),即 Visual Basic 腳本語(yǔ)言
- Brainfuck Brainfuck是一種極小化的計(jì)算機(jī)語(yǔ)言
- C、C++ 、C# C語(yǔ)言是一種面向過(guò)程的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言 ; C++是一種靜態(tài)數(shù)據(jù)類(lèi)型檢查的,支持多重編程范式的通用程序設(shè)計(jì)語(yǔ)言。它支持過(guò)程化程序設(shè)計(jì)、數(shù)據(jù)抽象、面向?qū)ο蟪绦蛟O(shè)計(jì)、制作圖標(biāo)等等泛型程序設(shè)計(jì)等多種程序設(shè)計(jì)風(fēng)格。C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NET Framework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言。
- Objective-C 通常寫(xiě)作ObjC和較少用的Objective C或Obj-C,是擴(kuò)充C的面向?qū)ο缶幊陶Z(yǔ)言
- Clipper Clipper芯片主要用于商業(yè)活動(dòng)的計(jì)算機(jī)通信網(wǎng)
- COBOL 一種適合于商業(yè)及數(shù)據(jù)處理的類(lèi)似英語(yǔ)的程序設(shè)計(jì)語(yǔ)言
- dBase dBASE是第一個(gè)在微型計(jì)算機(jī)上被廣泛使用的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS
- PASCAL、Delphi Pascal是一種計(jì)算機(jī)通用的高級(jí)程序設(shè)計(jì)語(yǔ)言 ;Delphi是全新的可視化編程環(huán)境,是一種方便、快捷的Windows應(yīng)用程序開(kāi)發(fā)工具
- Forth 由Charles H. Moore發(fā)展出來(lái)在天文臺(tái)使用的電腦自動(dòng)控制系統(tǒng)及程序設(shè)計(jì)語(yǔ)言,允許使用者很容易組合系統(tǒng)已有的簡(jiǎn)單指令,定義成為功能較復(fù)雜的高階指令。
- Fortran 譯為“公式翻譯器”,它是世界上最早出現(xiàn)的計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語(yǔ)言,廣泛應(yīng)用于科學(xué)和工程計(jì)算領(lǐng)域。
- FoxPro 是由美國(guó)Fox Software公司于1988年推出的數(shù)據(jù)庫(kù)產(chǎn)品
- F# F#是由微軟發(fā)展的為微軟.NET語(yǔ)言提供運(yùn)行環(huán)境的程序設(shè)計(jì)語(yǔ)言
- Fava Fava語(yǔ)言是一個(gè)小型的解釋語(yǔ)言,它主要面向于系統(tǒng)測(cè)試領(lǐng)域及小型嵌入式設(shè)備。
- IDL IDL 是一種數(shù)據(jù)分析和圖像化應(yīng)用程序及編程語(yǔ)言
- Java Java是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語(yǔ)言,他是一種面向?qū)ο蟮目缙脚_(tái)語(yǔ)言,可以在多種平臺(tái)上運(yùn)行。支持開(kāi)源。大量的類(lèi)庫(kù)。大量的開(kāi)源項(xiàng)目。是一種非常強(qiáng)大的編程語(yǔ)言!
- JavaScript Javascript是一種由Netscape的LiveScript發(fā)展而來(lái)的腳本語(yǔ)言
- J# Visual J# 是一種工具,供 Java 語(yǔ)言程序員用于構(gòu)建在 .NET Framework 上運(yùn)行的應(yīng)用程序和服務(wù)
- LISP 一種基于λ演算的函數(shù)式編程語(yǔ)言。
- Lua Lua 是一個(gè)小巧的腳本語(yǔ)言
- LOGO 是一種早期的編程語(yǔ)言,也是一種與自然語(yǔ)言非常接近的編程語(yǔ)言,它通過(guò)“繪圖”的方式來(lái)學(xué)習(xí)編程
- Module 在軟件工程中,指較高一級(jí)程序或模塊使用的一個(gè)單元或模塊
- Nuva Nuva語(yǔ)言是一種面向?qū)ο蟮膭?dòng)態(tài)腳本語(yǔ)言 Nuva語(yǔ)言的設(shè)計(jì)目的是用于基于模板的代碼生成
- Perl Perl 一般被稱(chēng)為“實(shí)用報(bào)表提取語(yǔ)言”(PracticalExtraction andReportLanguage),也做“病態(tài)折中垃圾列表器”(PathologicallyEclectic Rubbish Lister
- PHP PHP 是一種 HTML 內(nèi)嵌式的語(yǔ)言
- PL/I PL/I是Programming Language One的簡(jiǎn)寫(xiě)。當(dāng)中的“I”其實(shí)是羅馬數(shù)字的“一”。它是一只IBM公司在1950年代發(fā)明的第三代高級(jí)編程語(yǔ)言
- Prolog Prolog(Programming in Logic的縮寫(xiě))是一種邏輯編程語(yǔ)言
- Python 是一種面向?qū)ο蟮慕忉屝缘挠?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,也是一種功能強(qiáng)大而完善的通用型語(yǔ)言
- R R是用于統(tǒng)計(jì)分析、繪圖的語(yǔ)言和操作環(huán)境
- Ruby Ruby,一種為簡(jiǎn)單快捷面向?qū)ο缶幊蹋嫦驅(qū)ο蟪绦蛟O(shè)計(jì))而創(chuàng)的腳本語(yǔ)言
- Scheme Scheme,一種系統(tǒng)設(shè)計(jì)語(yǔ)言,由LISP語(yǔ)言發(fā)展而來(lái),屬于lisp的一種方言。與其他lisp不同的是,scheme是可以編譯成機(jī)器碼的。Scheme的一個(gè)主要特性是可以像操作數(shù)據(jù)一樣操作函數(shù)調(diào)用
- Smalltalk 一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言 一種程序設(shè)計(jì)環(huán)境 一個(gè)應(yīng)用開(kāi)發(fā)環(huán)境(ADE)
- Tcl/Tk 是一種 腳本語(yǔ)言
- Visual FoxPro Visual FoxPro原名FoxBase,是美國(guó)Fox Software公司推出的數(shù)據(jù)庫(kù)產(chǎn)品
相關(guān)條目[ ]