编程历史
編程歷史:
編程語言的歷史早于真正意義的計算機的出現。19世紀就有"可編程的"織布機和鋼琴彈奏裝置出現,它們都是領域特定語言(DSL)的樣例。?
從1951年2014年,人類一共發明了256種編程語言,每一種語言的出現都帶有某些新特征。編程語言不斷的在革新,很快就會有超出這個清單的新編程語言出現
1951 – Regional Assembly Language
1952 – Autocode
1954 – IPL (LISP語言的祖先)
1955 – FLOW-MATIC (COBOL語言的祖先)
1957 – FORTRAN (第一個編譯型語言)
- 1957- John Backus和IBM發明了FORTRAN語言。關于IBM或FORTRAN并沒有什么特別好笑的地方。除了,寫FORTRAN程序的時候不系藍領帶將被編譯器視作是一個syntax error。早期FORTRAN(FORTRAN 77)對程序書寫格式的要求相當嚴格?(例如,固定格式縮進)
1957 – COMTRAN (COBOL語言的祖先)
1958 – LISP
John McCarthy和Paul Graham發明了LISP。由于冷戰期間的戰略括號資源儲備所造成的巨大成本,LISP從未流行過。盡管欠缺足夠的流行度,LISP(現在叫做 “Lisp”,有時叫“Arc”)仍然被視作一門有影響力的語言,在關鍵的算法思想諸如遞歸(recursion)上尤為典范。?
?
1958 – ALGOL 58
1959 – FACT (COBOL語言的祖先)
1959 – COBOL
?
在輸掉了和L. Ron Hubbard之間的一場打賭之后,Grace Hopper和其他幾個人發明了所謂的“面向Boilerplate的全大寫化語言(Capitalization Of Boilerplate Oriented Language,COBOL)”。COBOL語言以代碼極其冗長和通篇大寫字母的書寫風格而聞名。?
?
1959 – RPG
1962 – APL
1962 – Simula
1962 – SNOBOL
1963 – CPL (C語言的祖先)
1964 – BASIC
John Kemeny和Thomas Kurtz創造了BASIC,一個為非計算機科學家設計的非結構化的程序語言。?
1964 – PL/I
1966 – JOSS
1967 – BCPL (C語言的祖先)
1968 – Logo
1969 – B (C語言的祖先)
1970 – Pascal
?Niklaus Wirth創造了Pascal,一個過程式的語言。很快就有人開始聲討Pascal,因為它使用了類似“x := x + y”這樣的語法,而不是更為人熟知的類C語法“x = x + y”。盡管存在著這樣的批評,而事實上當時C還沒有被發明出來。?
?
1970 – Forth
1972 – C
Dennis Ritchie發明了一把射擊時能同時向前和向后兩個方向發射子彈的絕世好槍。但他對此發明造成的致死和終身殘疾數量感到還不夠滿意,所以他又發明了C語言和Unix?
?
1972 – Smalltalk
Smalltalk編譯出來的程序以低效緩慢著稱。
?
1972 – Prolog
Alain Colmerauer設計了邏輯編程語言Prolog。他的目標是創造一個具有兩歲小孩智商的程序語言。為了證明他成功達到了這個目標,他展示了一個Prolog程序,它對于每條查詢都會機智地給出相同的回答:“No”。?
?
1973 – ML
Robin Milner創造了ML,一個建立在M&M類型理論基礎上的語言。由ML衍生而來的SML加上了一套形式語義的規范。其他ML家族的著名語言還包括OCaml,F#,和,Visual Basic。?
?
1975 – Scheme
1978 – SQL
1980 – C++ (既有類的C語言,更名于1983年7月)
Alan Kay創造了Smalltalk并發明了“面向對象”這個詞。當被問到它的含義時,他回答道:“Smalltalk程序本身就是對象。”當被問到對象是由 什么組成時,他回答到:“對象。”當再一次被問到這個問題時,他說“看,它從里到外都是對象。直到你抽出一只烏龜。”?
?
1983 – Ada
為了紀念偉大的先輩程序員Ada Lovelace那能夠寫出永遠也無法被執行的代碼的彪悍技能,Jean Ichbiah和美國國防部創造了Ada語言。盡管缺乏證據顯示有任何重要的Ada程序曾經被完成過,歷史學家仍然確信Ada是個成功的公益項目,它讓數 以千計的國防承包商免于淪落為與黑幫為伍。?
Ada曾經是美國國防部指定的嵌入式計算機系統唯一開發語言,在其研發上耗資巨大。?
1984 – Common Lisp
1984 – MATLAB
1985 – Eiffel
1986 – Objective-C
?Brad Cox和Tom Love創造了Objective-C,宣稱“該語言完美地結合了C的內存安全性與Smalltalk的神奇效率”。現在的歷史學家懷疑這兩人其實是誦讀障礙癥患者。
?“C的內存安全性十分好”。?
?
?
1986 – Erlang
1987 – Perl
Larry Wall在電腦前打了個盹,Larry Wall的腦門子壓到了鍵盤上。醒來之后,Larry Wall深信 ,在Larry Wall的顯示器上出現的神秘字符串并非是隨機的,那是某種編程語言之程序樣例的神諭。那必是上帝要他的先知,Larry Wall,去設計的。Perl語言就此誕生了。?
?
1988 – Tcl
1988 – Mathematica
1989 – FL
1990 – Haskell
一個由Simon Peyton-Jones、Paul Hudak、Philip Wadler、Ashton Kutcher和善待動物組織(PETA)組成的委員會創造了Haskell,一種純函數式的、非嚴求值的語言。Haskell由于使用了Monad這種 較費解的概念來控制副作用而遭到了一些批評意見。Wadler試圖平息這些質疑,他解釋說:“一個單子(Monad)說白了不過就是自函子范疇上的一個幺半群而已,這有什么難以理解的?”?
?
1991 – Python
荷蘭程序員Guido van Rossum為了一次神秘的手術而進行了一次阿根廷之旅。回來后他帶著一個巨大的顱疤,發明了Python,而被數以軍團計的追隨者們加冕為“終生大獨裁者”,并向全世界宣布“要辦到一件事情,只可有唯一的一種方法!”。整個波蘭陷入了恐慌。?
?
1991 – Visual Basic
1993 – Ruby
松本“Mad Matz”行弘創造出了Ruby語言,用來辟謠一些意味不明的、有關澳洲將會變成一片由莫霍克族戰士和Tina Turner統治的荒漠的末世預言。該語言后來被它的真正發明者David Heinemeier Hansson重新命名為Ruby on Rails。?
早關于Ruby的國際會議不是RubyConf,而是每年在澳大利亞舉辦的OSDConf。?
Matz并沒有為“Ruby”這個名字注冊商標——本著開源的黑客精神。?
?
1993 – Lua
1994 – CLOS (ANSI Common Lisp的一部分)
1995 – Java
Brendan Eich讀完了歷史上所有在程序語言設計中曾經出現過的錯誤,自己又發明了一些更多的錯誤,然后用它們創造出了Live。之后,為了緊跟 Java語言的時髦潮流,它被重新命名為Java。再然后,為了追隨一種皮膚病的時髦潮流,這語言又被命名為ECMA。?
?
1995 – Delphi (Object Pascal)
1995 – Java
James Gosling發明了Java。Java是一個相對繁冗的、帶垃圾收集的、基于類的、靜態類型的、單分派的面向對象語言,擁有單實現繼承和多接口繼承。Sun不遺余力地宣傳著Java的獨一無二不同凡響之處?
1995 – PHP
在家門口附近的一個意大利飯館用餐時,Rasmus Lerdorf意識到他吃的那盤意面正好是一個用來理解WWW萬維網的極好模型,而所有的Web應用都應該仿照它們的媒介那樣去做。在他的餐巾的背后,他 設計出了著名的“可編程超鏈接Pasta(Programmable Hyperlinked Pasta,PHP)”語言。PHP的文檔至今仍然保留在那片餐巾上。
PHP最顯著的特點就是:代碼是可以直接嵌在HTML文檔中的。
1996 – WebDNA
1997 – Rebol
1999 – D
2000 – Action
2001 – C#
Anders Hejlsberg發明了C#。C#是一個相對繁冗的、帶垃圾收集的、基于類的、靜態類型的、單分派的面向對象語言,擁有單實現繼承和多接口繼承。微軟不遺余力地宣傳著C#的獨一無二不同凡響之處?
?
2001 – Visual Basic .NET
2002 – F#
2003 – Groovy
2003 – Scala
一個叫Martin Odersky的醉漢看見了好時瑞森花生醬杯的廣告,展示了某個人的花生醬倒入另一個人的巧克力的場景,他忽然有了個點子。他創造了Scala,一種結合 了面向對象和函數式編程的語言。這同時激怒了兩個陣營的忠實信徒,他們立刻宣布要發動圣戰燒死異教徒。?
?
2007 – Clojure
2009 – Go
2011 – Dart
?
?
?
轉載于:https://www.cnblogs.com/yyqxlcx/p/9925372.html
總結
- 上一篇: 辗转相除法求最大公约数(c++)
- 下一篇: 使用MyBatis框架时发现的一些小bu