



不得不承認,世界上第一個編程語言完全是懶惰的副產物。對于IBM員工John Backus而言,上世紀五十年代的計算機操作起來太復雜了。那時候,程序員們需要使用二進制機器碼才能與計算機通訊,只有最高端的系統才支持字節。操作計算機的人需要處理超長的打孔紙帶——這是一件麻煩又非常容易出錯的事。1952年,接到美國海軍的命令后,數學家Grace Hopper使用A-0系統創造了一個程序,這段程序可以合并海軍指揮命令中特定的字符串(String),然后將其轉換為機器碼。最后,在編譯器的幫助下,人終于可以與機器進行“對話”了,但這種匯編語言的代碼依然非常抽象。在John Backus看來,匯編語言太麻煩了,他很快想到了應該發明一種語言,它可以將符合人類語言邏輯的對話“翻譯”為機器語言命令。他把這種自己設計的計算機編程語言稱為“FORmula TRANslation”,縮寫為FORTRAN。第一個高級程序設計語言FORTRAN的出現,使得編寫程序的代碼(命令)數比機器碼時代降低了至少20倍。
編程難度相對降低之后,計算機開始進入大學和金融研究機構。由于它們對計算機的需求與早期從事科研及軍事的機構不同,為了讓他們更好地使用計算機,讓編程語言更易于理解、并可以為特定的任務而優化就成為了當時的發展趨勢。正因為如此,專注于編程語言和軟件開發的新型企業開始出現。例如,比爾·蓋茨在1975年創建了微軟公司,他們希望為即將到來的個人電腦開發操作系統和應用軟件。與此同時,擁有不同優勢和弱點的各種編程語言開始涌現。人們很快就發現了問題:這些編程語言并不能相互兼容,大多數編程語言容易出錯且不穩定。直到美國國防部在1983年指定Ada語言為第一個標準化的編程語言后,情況才好轉了一些。以美國國防部為例,他們使用的編程語言從450個降到了36個。
為互聯網而生的新語言
編程語言的進化隨著互聯網的繁榮又迎來了新的階段,服務器和瀏覽器的工作模式向編程語言提出了新的挑戰,它要求編程語言在穩定性、系統安全和可訪問性上要有所提升。因此腳本語言在那時出現,這種語言被認為是簡單的、容易理解的,它可以將程序代碼輕易地集成到最流行的系統中。其實,還有很多特殊的編程語言對大部分人而言是陌生的,因為它們并沒有實際的用途,甚至源代碼都讓人難以理解,例如不支持可打印源代碼的,只由空格和制表符等組成的編程語言Whitespace,采用菜譜一樣源代碼結構的Chef等。
盡管編程語言的進化歷史并不長,但是依然誕生了很多長壽的、極具生命力的編程語言。一些智能手機App仍在使用部分C語言,54歲的FORTRAN仍然在不斷改進、成長中,并誕生了許多不同的分支,它的發明者John Backus至今仍然在該語言的發展領域扮演著重要的角色。