計(jì)算機(jī)編程語(yǔ)言是什么?
計(jì)算機(jī)語(yǔ)言(Computer Language)指用于人與計(jì)算機(jī)之間通訊的語(yǔ)言。計(jì)算機(jī)語(yǔ)言是人與計(jì)算機(jī)之間傳遞信息的媒介。計(jì)算機(jī)系統(tǒng)最大特征是指令通過(guò)一種語(yǔ)言傳達(dá)給機(jī)器。為了使電子計(jì)算機(jī)進(jìn)行各種工作,就需要有一套用以編寫計(jì)算機(jī)程序的數(shù)字、字符和語(yǔ)法規(guī)劃,由這些字符和語(yǔ)法規(guī)則組成計(jì)算機(jī)各種指令(或各種語(yǔ)句)。
C語(yǔ)言
C語(yǔ)言是Dennis Ritchie在七十年代創(chuàng)建的,它功能更強(qiáng)大且與ALGOL保持更連續(xù)的繼承性,而ALGOL則是COBOL和FORTRAN的結(jié)構(gòu)化繼承者。C語(yǔ)言被設(shè)計(jì)成一個(gè)比它的前輩更精巧、更簡(jiǎn)單的版本,它適于編寫系統(tǒng)級(jí)的程序,比如操作系統(tǒng)。在此之前,操作系統(tǒng)是使用匯編語(yǔ)言編寫的,而且不可移植。C語(yǔ)言是第一個(gè)使得系統(tǒng)級(jí)代碼移植成為可能的編程語(yǔ)言
C++
C++語(yǔ)言是具有面向?qū)ο筇匦缘腃語(yǔ)言的繼承者。面向?qū)ο缶幊蹋蚍QOOP是結(jié)構(gòu)化編程的下一步。OO程序由對(duì)象組成,其中的對(duì)象是數(shù)據(jù)和函數(shù)離散集合。有許多可用的對(duì)象庫(kù)存在,這使得編程簡(jiǎn)單得只需要將一些程序"建筑材料"堆在一起(至少理論上是這樣)。比如說(shuō),有很多的GUI和數(shù)據(jù)庫(kù)的庫(kù)實(shí)現(xiàn)為對(duì)象的集合。
匯編語(yǔ)言
匯編是第一個(gè)計(jì)算機(jī)語(yǔ)言。匯編語(yǔ)言實(shí)際上是你計(jì)算機(jī)處理器實(shí)際運(yùn)行的指令的命令形式表示法。這意味著你將與處理器的底層打交道,比如寄存器和堆棧。如果你要找的是類英語(yǔ)且有相關(guān)的自我說(shuō)明的語(yǔ)言,這不是你想要的。 特別注意:語(yǔ)言的名字叫"匯編"。把匯編語(yǔ)言翻譯成真實(shí)的機(jī)器碼的工具叫"匯編程序"。把這門語(yǔ)言叫做"匯編程序"這種用詞不當(dāng)相當(dāng)普遍,因此,請(qǐng)從這門語(yǔ)言的正確稱呼作為起點(diǎn)出發(fā)。
Pascal語(yǔ)言
Pascal語(yǔ)言是由NicolasWirth在七十年代早期設(shè)計(jì)的,因?yàn)樗麑?duì)于FORTRAN和COBOL沒(méi)有強(qiáng)制訓(xùn)練學(xué)生的結(jié)構(gòu)化編程感到很失望,"空心粉式代碼"變成了規(guī)范,而當(dāng)時(shí)的語(yǔ)言又不反對(duì)它。Pascal被設(shè)計(jì)來(lái)強(qiáng)行使用結(jié)構(gòu)化編程。最初的Pascal被嚴(yán)格設(shè)計(jì)成教學(xué)之用,最終,大量的擁護(hù)者促使它闖入了商業(yè)編程中。當(dāng)Borland發(fā)布IBMPC上的TurboPascal時(shí),Pascal輝煌一時(shí)。集成的編輯器,閃電般的編譯器加上低廉的價(jià)格使之變得不可抵抗,Pascal編程了為MS-DOS編寫小程序的首選語(yǔ)言。然而時(shí)日不久,C編譯器變得更快,并具有優(yōu)秀的內(nèi)置編輯器和調(diào)試器。Pascal在1990年Windows開始流行時(shí)走到了盡頭,Borland放棄了Pascal而把目光轉(zhuǎn)向了為Windows編寫程序的C++。TurboPascal很快被人遺忘。
Java
Java是由Sun最初設(shè)計(jì)用于嵌入程序的可移植性"小C++"。在網(wǎng)頁(yè)上運(yùn)行小程序的想法著實(shí)吸引了不少人的目光,于是,這門語(yǔ)言迅速崛起。事實(shí)證明,Java不僅僅適于在網(wǎng)頁(yè)上內(nèi)嵌動(dòng)畫-它是一門極好的完全的軟件編程的小語(yǔ)言。"虛擬機(jī)"機(jī)制、垃圾回收以及沒(méi)有指針等使它很容易實(shí)現(xiàn)不易崩潰且不會(huì)泄漏資源的可靠程序。雖然不是C++的正式續(xù)篇,Java從C++中借用了大量的語(yǔ)法。它丟棄了很多C++的復(fù)雜功能,從而形成一門緊湊而易學(xué)的語(yǔ)言。不像C++,Java強(qiáng)制面向?qū)ο缶幊蹋贘ava里寫非面向?qū)ο蟮某绦蚓拖褚赑ascal里寫"空心粉式代碼"一樣困難。