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