前期java
二十世紀四十年代當計算機剛剛問世的時候,程序員必須手動控制計算機。當時的計算機十分昂貴,惟一想到利用程序設計語言來解決問題的人是德國工程師楚澤(konradzuse)。不久後,計算機的價格大幅度下跌,而計算機程序也愈來愈複雜。也就是說,開發時間已經遠比運行時間來得寶貴。因而,新的集成、可視的開發環境愈來愈流行。它們減小了所付出的時間、金錢(以及腦細胞)。只要輕敲幾個鍵,一整段代碼就可使用了。這也得益於能夠重用的程序代碼庫。隨着c,pascal,fortran,等結構化高級語言的誕生,使程序員能夠離開機器層次,在更抽象的層次上表達意圖。由此誕生的三種重要控制結構,以及一些基本數據類型都可以很好的開始讓程序員以接近問題本質的方式去思考和描述問題。隨着程序規模的不斷擴大,在60年代末期出現了軟件危機,在當時的程序設計模型中都沒法克服錯誤隨着代碼的擴大而級數般的擴大,以致到了沒法控制的地步,這個時候就出現了一種新的思考程序設計方式和程序設計模型-----面向對象程序設計,由此也誕生了一批支持此技術的程序設計語言,好比eiffel,c++,java,這些語言都以新的觀點去看待問題,即問題就是由各類不一樣屬性的對象以及對象之間的消息傳遞構成。面嚮對象語言由此必須支持新的程序設計技術,例如:數據隱藏,數據抽象,用戶定義類型,繼承,多態等等。c++
現狀
現在通用的編程語言有兩種形式:彙編語言和高級語言。
彙編語言的和機器語言實質是相同的,都是直接對硬件操做,只不過指令採用了英文縮寫的標識符,容易識別和記憶。源程序經彙編生成的可執行文件不只比較小,並且執行速度很快。
高級語言是絕大多數編程者的選擇。和彙編語言相比,它不但將許多相關的機器指令合成爲單條指令,而且去掉了與具體操做有關但與完成工做無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,因爲省略了不少細節,編程者也就不須要有太多的專業知識。
高級語言主要是相對於低級語言而言,它並非特指某一種具體的語言,而是包括了不少編程語言,如流行的vb、vc、foxpro、delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機識別,必須通過轉換才能被執行,按轉換方式可將它們分爲兩類:解釋類和編譯類。程序員
趨勢
面向對象程序設計以及數據抽象在現代程序設計思想中佔有很重要的地位,將來語言的發展將不在是一種單純的語言標準,將會以一種徹底面向對象,更易表達現實世界,更易爲人編寫,其使用將再也不只是專業的編程人員,人們徹底能夠用訂製真實生活中一項工做流程的簡單方式來完成編程。
簡單性:提供最基本的方法來完成指定的任務,只需理解一些基本的概念,就能夠用它編寫出適合於各類狀況的應用程序。
面向對象:提供簡單的類機制以及動態的接口模型。對象中封裝狀態變量以及相應的方法,實現了模塊化和信息隱藏;提供了一類對象的原型,而且經過繼承機制,子類可使用父類所提供的方法,實現了代碼的複用。
安全性:用於網絡、分佈環境下有安全機制保證。
平臺無關性:與平臺無關的特性使程序能夠方便地被移植到網絡上的不一樣機器、不一樣平臺。編程