計算機(jī)語言發(fā)展歷史
計算機(jī)語言(computer language)指用于人與計算機(jī)之間通訊的語言,是人與計算機(jī)之間傳遞信息的媒介。計算機(jī)系統(tǒng)最大特征是指令通過一種語言傳達(dá)給機(jī)器,為了使電子計算機(jī)進(jìn)行各種工作,就需要有一套用以編寫計算機(jī)程序的數(shù)字、字符和語法規(guī)劃,由這些字符和語法規(guī)則組成計算機(jī)各種指令(或各種語句),這些就是計算機(jī)能接受的語言。下面小編給大家介紹計算機(jī)語言發(fā)展歷史。
計算機(jī)語言前期
二十世紀(jì)四十年代當(dāng)計算機(jī)剛剛問世的時候,程序員必須手動控制計算機(jī)。當(dāng)時的計算機(jī)十分昂貴,唯一想到利用程序設(shè)計語言來解決問題的人是德國工程師楚澤(konradzuse)。不久后,計算機(jī)的價格大幅度下跌,而計算機(jī)程序也越來越復(fù)雜。也就是說,開發(fā)時間已經(jīng)遠(yuǎn)比運行時間來得寶貴。于是,新的集成、可視的開發(fā)環(huán)境越來越流行。它們減少了所付出的時間、金錢(以及腦細(xì)胞)。只要輕敲幾個鍵,一整段代碼就可以使用了。這也得益于可以重用的程序代碼庫。隨著c,pascal,fortran,等結(jié)構(gòu)化高級語言的誕生,使程序員可以離開機(jī)器層次,在更抽象的層次上表達(dá)意圖。
由此誕生的三種重要控制結(jié)構(gòu),以及一些基本數(shù)據(jù)類型都能夠很好的開始讓程序員以接近問題本質(zhì)的方式去思考和描述問題。隨著程序規(guī)模的不斷擴(kuò)大,在60年代末期出現(xiàn)了軟件危機(jī),在當(dāng)時的程序設(shè)計模型中都無法克服錯誤隨著代碼的擴(kuò)大而級數(shù)般的擴(kuò)大,以至到了無法控制的地步,這個時候就出現(xiàn)了一種新的思考程序設(shè)計方式和程序設(shè)計模型-----面向?qū)ο蟪绦蛟O(shè)計,由此也誕生了一批支持此技術(shù)的程序設(shè)計語言,比如eiffel,c++,java,這些語言都以新的觀點去看待問題,即問題就是由各種不同屬性的對象以及對象之間的消息傳遞構(gòu)成。面向?qū)ο笳Z言由此必須支持新的程序設(shè)計技術(shù),例如:數(shù)據(jù)隱藏,數(shù)據(jù)抽象,用戶定義類型,繼承,多態(tài)等等。
計算機(jī)語言現(xiàn)狀
如今通用的編程語言有兩種形式:匯編語言和高級語言。匯編語言的和機(jī)器語言實質(zhì)是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標(biāo)識符,容易識別和記憶。源程序經(jīng)匯編生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快。
高級語言是絕大多數(shù)編程者的選擇。和匯編語言相比,它不但將許多相關(guān)的機(jī)器指令合成為單條指令,并且去掉了與具體操作有關(guān)但與完成工作無關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由于省略了很多細(xì)節(jié),編程者也就不需要有太多的專業(yè)知識。
高級語言主要是相對于低級語言而言,它并不是特指某一種具體的語言,而是包括了很多編程語言,如流行的vb、vc、foxpro、delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機(jī)識別,必須經(jīng)過轉(zhuǎn)換才能被執(zhí)行,按轉(zhuǎn)換方式可將它們分為兩類:解釋類和編譯類。[
計算機(jī)語言趨勢
面向?qū)ο蟪绦蛟O(shè)計以及數(shù)據(jù)抽象在現(xiàn)代程序設(shè)計思想中占有很重要的地位,未來語言的發(fā)展將不在是一種單純的語言標(biāo)準(zhǔn),將會以一種完全面向?qū)ο螅妆磉_(dá)現(xiàn)實世界,更易為人編寫,其使用將不再只是專業(yè)的編程人員,人們完全可以用訂制真實生活中一項工作流程的簡單方式來完成編程。
簡單性:提供最基本的方法來完成指定的任務(wù),只需理解一些基本的概念,就可以用它編寫出適合于各種情況的應(yīng)用程序。
面向?qū)ο螅禾峁┖唵蔚念悪C(jī)制以及動態(tài)的接口模型。對象中封裝狀態(tài)變量以及相應(yīng)的方法,實現(xiàn)了模塊化和信息隱藏;提供了一類對象的原型,并且通過繼承機(jī)制,子類可以使用父類所提供的方法,實現(xiàn)了代碼的復(fù)用。
安全性:用于網(wǎng)絡(luò)、分布環(huán)境下有安全機(jī)制保證。
平臺無關(guān)性:與平臺無關(guān)的特性使程序可以方便地被移植到網(wǎng)絡(luò)上的不同機(jī)器、不同平臺。[4]
計算機(jī)語言之父
“計算機(jī)語言之父”尼蓋德幫助因特網(wǎng)奠下了基礎(chǔ),為計算機(jī)業(yè)做出了巨大貢獻(xiàn)。
尼蓋德是奧斯陸大學(xué)的教授,因為發(fā)展了simula編程語言,為ms-dos和因特網(wǎng)打下了基礎(chǔ)而享譽(yù)國際??死锼雇?middot;尼蓋德于1926年在奧斯陸出生,1956年畢業(yè)于奧斯陸大學(xué)并取得數(shù)學(xué)碩士學(xué)位,此后致力于計算機(jī)計算與編程研究。
1961年~1967年,尼蓋德在挪威計算機(jī)中心工作,參與開發(fā)了面向?qū)ο蟮木幊陶Z言。因為表現(xiàn)出色,2001年,尼蓋德和同事奧爾·約安·達(dá)爾獲得了2001年a.m.圖靈機(jī)獎及其它多個獎項。當(dāng)時為尼蓋德頒獎的計算機(jī)協(xié)會認(rèn)為他們的工作為java,c++等編程語言在個人電腦和家庭娛樂裝置的廣泛應(yīng)用掃清了道路,“他們的工作使軟件系統(tǒng)的設(shè)計和編程發(fā)生了基本改變,可循環(huán)使用的、可靠的、可升級的軟件也因此得以面世。”
尼蓋德因其卓越的貢獻(xiàn),而被譽(yù)為“計算機(jī)語言之父”,其對計算機(jī)語言發(fā)展趨勢的掌握和認(rèn)識,以及投身于計算機(jī)語言事業(yè)發(fā)展的精神都將激勵我們向著計算機(jī)語言無比燦爛的明天前進(jìn)。
主要特點
在沒有程序語言以前,計算機(jī)科學(xué)家們寫程序都是以開關(guān)電閘(即用二進(jìn)制)來實現(xiàn)(表示)的,后來有了匯編,在后來有了C,直到今天有了C++、JAVA、VB、Delphi等等各種各樣的編程語言層出不窮??删驮谟嬎銠C(jī)語言不斷的演化過程中,每一種語言都有一些共性是不變的.。這些共性可概括為以下三點:
其一是:內(nèi)存電位的設(shè)置.(置1或0)
其二是:條件判斷(if,else)該功能可通過邏輯門實現(xiàn).
其三是:循環(huán),也就是程序下一條指令地址可設(shè)置。