編程語言發展史

        二十世紀四十年代當計算機剛剛問世的時候,程序員必須手動控制計算機。當時的計算機十分昂貴,惟一想到利用程序設計語言來解決問題的人是德國工程師楚澤(konradzuse)。不久後,計算機的價格大幅度下跌,而計算機程序也愈來愈複雜。也就是說,開發時間已經遠比運行時間來得寶貴。因而,新的集成、可視的開發環境愈來愈流行。它們減小了所付出的時間、金錢(以及腦細胞)。只要輕敲幾個鍵,一整段代碼就可使用了。這也得益於能夠重用的程序代碼庫。隨着c,pascal,fortran,等結構化高級語言的誕生,使程序員能夠離開機器層次,在更抽象的層次上表達意圖。由此誕生的三種重要控制結構,以及一些基本數據類型都可以很好的開始讓程序員以接近問題本質的方式去思考和描述問題。隨着程序規模的不斷擴大,在60年代末期出現了軟件危機,在當時的程序設計模型中都沒法克服錯誤隨着代碼的擴大而級數般的擴大,以致到了沒法控制的地步,這個時候就出現了一種新的思考程序設計方式和程序設計模型-----面向對象程序設計,由此也誕生了一批支持此技術的程序設計語言,好比eiffel,c++,java,這些語言都以新的觀點去看待問題,即問題就是由各類不一樣屬性的對象以及對象之間的消息傳遞構成。面嚮對象語言由此必須支持新的程序設計技術,例如:數據隱藏,數據抽象,用戶定義類型,繼承,多態等等。java

       下面這張圖片描繪了整個編程語言的歷史。包括各類編程語言的發明人,編程語言的特色和適用領域,被什麼網站或公司使用等。c++

編程語言發展的編年史:程序員

1951 – Regional Assembly Language 算法

1952 – Autocode 編程

1954 – IPL (LISP語言的祖先) 編程語言

1955 – FLOW-MATIC (COBOL語言的祖先) 網站

1957 – FORTRAN (第一個編譯型語言)  1957 – COMTRAN (COBOL語言的祖先) spa

1958 – LISP  1958 – ALGOL  設計

1959 – FACT (COBOL語言的祖先)  1959 – COBOL  1959 – RPG code

1962 – APL  1962 – Simula  1962 – SNOBOL 

1963 – CPL (C語言的祖先) 

1964 – BASIC     1964 – PL/I  1966 – JOSS 

1967 – BCPL (C語言的祖先) 

1968 – Logo 

1969 – B (C語言的祖先)  1970 – Pascal  1970 – Forth 

1972 – C  1972 – Smalltalk  1972 – Prolog 

1973 – ML 

1975 – Scheme        

1978 – SQL 

1980 – C++ (既有類的C語言,改名於1983年7月) 

1983 – Ada 

1984 – Common Lisp  1984 – MATLAB 

1985 – Eiffel  1986 – Objective-C 

1986 – Erlang 

1987 – Perl 

1988 – Tcl    1988 – Mathematica 

1989 – FL 

1990 – Haskell  

1991 – Python  1991 – Visual Basic 

1993 – Ruby  1993 – Lua 

1994 – CLOS (ANSI Common Lisp的一部分)  

1995 – Java  1995 – Delphi (Object Pascal)  1995 – Java  1995 – PHP 

1996 – WebDNA 

1997 – Rebol  1999 – D 

2000 – Action 

2001 – C#  2001 – Visual Basic .NET 

2002 – F#  2003 – Groovy 

2003 – Scala 

2007 – Clojure 

2009 – Go 

2011 – Dart

        現在通用的編程語言有兩種形式:彙編語言和高級語言。
計算機語言 計算機語言
彙編語言和機器語言實質是相同的,都是直接對硬件操做,只不過指令採用了英文縮寫的標識符,容易識別和記憶。源程序經彙編生成的可執行文件不只比較小,並且執行速度很快。
        高級語言是絕大多數編程者的選擇。和彙編語言相比,它不但將許多相關的機器指令合成爲單條指令,而且去掉了與具體操做有關但與完成工做無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,因爲省略了不少細節,編程者也就不須要有太多的專業知識。
高級語言主要是相對於低級語言而言,它並非特指某一種具體的語言,而是包括了不少編程語言,如流行的vb、vc、foxpro、delphi等,這些語言的語法、命令格式都各不相同。
       高級語言所編制的程序不能直接被計算機識別,必須通過轉換才能被執行,按轉換方式可將它們分爲兩類:解釋類和編譯類。
特別要提到的:在C語言誕生之前,系統軟件主要是用匯編語言編寫的
計算機語言 計算機語言
。因爲彙編語言程序依賴於計算機硬件,其可讀性和可移植性都不好;但通常的高級語言又難以實現對計算機硬件的直接操做(這正是彙編語言的優點),因而人們盼望有一種兼有彙編語言和高級語言特性的新語言——C語言。
        高級語言的發展也經歷了從早期語言到 結構化程序設計語言,從面向過程到非過程化程序語言的過程。相應地,軟件的開發也由最初的個體手工做坊式的封閉式生產,發展爲產業化、流水線式的工業化生產。
        高級語言的下一個發展目標是面向應用,也就是說:只須要告訴程序你要幹什麼,程序就能自動生成算法,自動進行處理,這就是非過程化的程序語言。
相關文章
相關標籤/搜索