fbpx
维基百科

程式語言歷史

本条目探討程式語言在歷史上的主要發展。更詳細的事件發生年表,請參閱程式語言年表英语Timeline of programming languages

1940之前 编辑

 
霍列瑞斯式的打孔機(pantograph),用於1890年的人口普查[1]

第一個程式語言的出现早于現代的計算機的誕生。首先,這種語言是種代碼

於1804年發明的雅卡尔织布机,運用打孔卡上的坑洞來代表縫紉織布機的手臂動作,以便自動化產生裝飾的圖案。

愛達·勒芙蕾絲在1842年至1843年間花費了九個月,將義大利數學家费德里科·路易吉關於查爾斯·巴貝奇新發表機器分析機的回憶錄翻譯完成。她於那篇文章後面附加了一個用分析機計算伯努利数方法的細節,被部分歷史學家認為是世界上第一個電腦程序。[2]

赫爾曼·何樂禮在觀察列車長對乘客票根在特定位置打洞的方式後得到灵感,把資訊編碼記載到打孔卡上,隨後根據這項發現使用打孔卡來編碼並紀錄1890年的人口統計資料。

最早的計算機程式碼是針對他們的應用面設計的。例如,阿隆佐·邱奇曾以公式化(formulaic)的方式表達λ演算图灵机是一種紙帶標記(tape-marking)機器(就像電話公司用的那種)操作方法抽象化後的集合。图灵机這種透過有限數字(finite number)呈現機器的方式,奠定了程式如同冯·诺伊曼结构計算機中的資料一樣地儲存的基礎。但不同於λ演算,图灵机的程式碼並沒有辦法成為高階程式語言的基石,這是是因為它主要的用途是分析演算法的複雜度

第一個現代程式語言很難界定。最一開始是因為硬體限制而限定了語言,打孔卡允許80行(column)的長度,但某幾行必須用來記錄卡片的順序。FORTRAN則納入了一些與英文字詞相同的關鍵字,像是“IF”、“GOTO”(原字詞為go to),以及“CONTINUE”。之後採用磁鼓作為記憶體使用,也代表計算機程式也必須插入(interleave)到磁鼓的轉動(rotation)中。和現今比較起來,這也讓程式語言必須更加依賴硬體(hardware-dependent)。

對部分的人認為必須在“程式語言”的狀態確立之前,根據能力(power)以及可讀性(human-readability)的程度來決定歷史上第一個程式語言是什麼語言。提花織布機和查爾斯·巴貝奇所製作的差分機都具備在大量限制下,簡單描述機器應執行行為的語言。也有種並非設計給人類運用的受限特定領域語言,是將打孔卡運用到自動演奏鋼琴上。

1940年代 编辑

最早被確認的現代化、電力啟動(electrically powered)的計算機約在1940年代被創造出來。程式設計師在有限的速度及記憶體容量限制之下,撰寫人工調整(hand tuned)過的組合語言程式。而且很快就發現到使用組合語言的這種撰寫方式需要花費大量的腦力(intellectual effort)而且很容易出錯(error-prone)。

康拉德·楚澤於1948年發表了他所設計的Plankalkül程式語言的論文[3]。但是在他有生之年卻未能將該語言實作,而他原本的貢獻也被其他的發展所孤立。

1950與1960年代 编辑

有三個現代程式語言於1950年代被設計出來,三者衍生的語言直到今日仍舊廣泛地被採用:

  • FORTRAN (1955),名稱取自“FORmula TRANslator”(公式翻譯器),由約翰·巴科斯等人所發明;
  • LISP,名稱取自“LISt Processor”(列舉處理器),由約翰·麥卡錫等人所發明;
  • COBOL,名稱取自“COmmon Business Oriented Language”(通用商業導向語言),由被葛麗絲·霍普深刻影響的Short Range Committee所發明。

另一個1950年代晚期的里程碑是由美國與歐洲計算機學者針對“演算法的新語言”所組成的委員會出版的《ALGOL 60報告》(名稱取自“ALGOrithmic Language”,即演算法語言)。這份報告強化了當時許多關於計算的想法,並提出了兩個語言上的創新功能:

  • 嵌套區塊結構:可以將有意義的程式碼片段群組成一個,而非轉成分散且特定命名的程序。
  • 词法作用域:區塊可以有區塊外部無法透過名稱存取,屬於區塊本身的變數、程序以及函式。

另一個創新則是關於語言的描述方式:

  • 一種名為巴科斯-諾爾範式 (BNF)的數學化精確符號被用於描述語言的語法。之後的程式語言幾乎全部都採用類似BNF的方式來描述程式語法中上下文無關的部份。

Algol 60對之後語言的設計上帶來了特殊的影響,部分的語言很快的就被廣泛採用。後續為了開發Algol的擴充子集合,設計了一個名為Burroughs大型系統英语Burroughs large systems

延續Algol的關鍵構想所產生的成果就是ALGOL 68

  • 語法跟語意變的更加正交(orthogonal),採用匿名的例程(routines),採用高階(higher-order)功能的遞迴式类型(typing)系統等等。
  • 整個語言及語意的部分都透過為了描述語言而特別設計的Van Wijngaarden grammar英语Van Wijngaarden grammar來進行正式的定義,而不僅止於上下文無關的部份。

Algol 68一些較少被使用到的語言功能(如同步與並列區塊)、語法捷徑的複雜系統,以及型態自動強制轉換(coercions),使得實作者興趣缺缺,也讓Algol 68獲得了“難用”的名聲。尼克劳斯·维尔特就乾脆離開該設計委員會,另外再開發出更簡單的Pascal語言。

在這段期間被開發出來的重要語言包括有:

  • 1951 - Regional Assembly Language
  • 1952 - Autocode英语Autocode
  • 1954 - FORTRAN
  • 1954 - IPL (LISP的先驅)
  • 1955 - FLOW-MATIC英语FLOW-MATIC (COBOL的先驅)
  • 1957 - COMTRAN英语COMTRAN (COBOL的先驅)
  • 1958 - LISP
  • 1958 - ALGOL 58
  • 1959 - FACT英语FACT (computer language) (COBOL的先驅)
  • 1959 - COBOL
  • 1962 - APL
  • 1962 - Simula
  • 1962 - SNOBOL
  • 1963 - CPL (C的先驅)
  • 1964 - BASIC
  • 1964 - PL/I
  • 1967 - BCPL (C的先驅)

1960年代晚期-1970年代晚期:確立了基礎範型 编辑

1960年代晚期至1970年代晚期的期間中,程式語言的發展也有了重大的成果。大多數現在所使用的主要語言範型都是在這段期間中發明的:

這些語言都各自演展出自己的家族分支,現今多數現代程式語言的祖先都可以追溯他們其中至少一個以上。

在1960年代以及1970年代中結構化程式設計的優點也帶來許多的爭議,特別是在程式開發的過程中完全不使用GOTO。這項爭議跟語言本身的設計非常有關係:某些語言並沒有包含GOTO,這也強迫程式設計師必須結構化地編寫程式。儘管這個爭議在當時吵翻了天,但幾乎所有的程式設計師都同意就算語言本身有提供GOTO的功能,在除了少數罕見的情況下去使用GOTO是種不良的程序风格。結果是之後世代的程式語言設計者發覺到結構化程式語言的爭議實在既乏味又令人眼花繚亂。

在這段期間被開發出來的重要語言包括有:

1980年代:增強、模組、效能 编辑

1980年代的程式語言與之前相較顯得更為強大。C++合併了物件導向以及系統程式設計。美國政府標準化一種名為Ada的系統程式語言並提供給國防承包商使用。日本以及其他地方運用了大量的資金對採用邏輯程式語言結構的第五代程式語言進行研究。函數程式語言社群則把焦點轉移到標準化ML及Lisp身上。這些活動都不是在開發新的範型,而是在將上個世代發明的構想進一步發揚光大。

然而,在語言設計上有個重大的新趨勢,就是研究運用模組或大型組織化的程式單元來進行大型系統的開發。Modula、Ada,以及ML都在1980年代發展出值得注意的模組化系統。模組化系統常拘泥於採用泛型程式設計結構:泛型存在(generics being)、本質(essence),參數化模組(parameterized modules)。(參閱多态)

儘管沒有出現新的主要程式語言範型,許多研究人員仍就擴充之前語言的構想並將它們運用到新的內容上。舉例來說,Argus (编程语言)以及Emerald英语Emerald (programming language)系統的語言配合物件導向語言運用到分散式系統上。

1980年代的程式語言實作情況也有所進展。计算机系统结构RISC的進展假定硬體應當為編譯器設計,而非身為人類的組合語言程式設計師。藉由中央处理器速度增快的幫助,編譯技術也越來越積極,RISC的進展對高階語言編譯技術帶來不小的關注。

語言技術持續這些發展並邁入了1990年代。

在這段期間被開發出來的重要語言包括有:

1990年代:網際網路時代 编辑

1990年代未見到有什麼重大的創新,大多都是以前構想的重組或變化。這段期間主要在推動的哲學是提升程式設計師的生產力。許多"快速應用程式開發" (RAD) 語言也應運而生,這些語言大多都有相應的整合開發環境垃圾回收等機制,且大多是先前語言的衍生語言。這類型的語言也大多是物件導向的程式語言,包含有Object PascalVisual Basic,以及C#Java則是更加保守的語言,也具備垃圾回收機制。與其他類似語言相比,也受到更多的觀注。新的脚本语言則比RAD語言更新更好。這種語言並非直接從其他語言衍生,而且新的語法更加開放地(liberal)與功能契合。雖然腳本語言比RAD語言來的更有生產力,但大多會有因為小程式較為簡單,但是大型程式則難以使用腳本語言撰寫並維護的顧慮[來源請求]。儘管如此,腳本語言還是網路層面的應用上大放異彩。

在這段期間被開發出來的重要語言包括有:

現今的趨勢 编辑

程式語言持續在學術及企業兩個層面中發展進化,目前的一些趨勢包含有:

在這段期間被開發出來的重要語言包括有:

程式語言發展史上的傑出人物 编辑

參閱 编辑

參考文獻 编辑

  1. ^ Truesdell, Leon E. The Development of Punch Card Tabulation in the Bureau of the Census: 1890-1940. US GPO. 1965. 
  2. ^ J. Fuegi and J. Francis, Lovelace & Babbage and the creation of the 1843 'notes'., Annals of the History of Computing, October–December 2003, 25 (4): 19, 25, doi:10.1109/MAHC.2003.1253887 
  3. ^ [1] (页面存档备份,存于互联网档案馆

延伸閱讀 编辑

  • Sammet, Jean E., "Programming Languages: History and Fundamentals" Prentice-Hall, 1969

外部連結 编辑

  • by Diarmuid Pigott
  • .
  • The Evolution of Programming Languages (页面存档备份,存于互联网档案馆) by Peter Grogono. PDF.
  • Graph of programming language history (页面存档备份,存于互联网档案馆
  • by Dennie Van Tassel.

程式語言歷史, 本條目存在以下問題, 請協助改善本條目或在討論頁針對議題發表看法, 此條目需要編修, 以確保文法, 用詞, 语气, 格式, 標點等使用恰当, 請按照校對指引, 幫助编辑這個條目, 幫助, 討論, 此條目需要精通或熟悉相关主题的编者参与及协助编辑, 2015年12月14日, 請邀請適合的人士改善本条目, 更多的細節與詳情請參见討論頁, 本条目探討程式語言在歷史上的主要發展, 更詳細的事件發生年表, 請參閱程式語言年表, 英语, timeline, programming, languages, 目录,. 本條目存在以下問題 請協助改善本條目或在討論頁針對議題發表看法 此條目需要編修 以確保文法 用詞 语气 格式 標點等使用恰当 請按照校對指引 幫助编辑這個條目 幫助 討論 此條目需要精通或熟悉相关主题的编者参与及协助编辑 2015年12月14日 請邀請適合的人士改善本条目 更多的細節與詳情請參见討論頁 本条目探討程式語言在歷史上的主要發展 更詳細的事件發生年表 請參閱程式語言年表 英语 Timeline of programming languages 目录 1 1940之前 2 1940年代 3 1950與1960年代 4 1960年代晚期 1970年代晚期 確立了基礎範型 5 1980年代 增強 模組 效能 6 1990年代 網際網路時代 7 現今的趨勢 8 程式語言發展史上的傑出人物 9 參閱 10 參考文獻 11 延伸閱讀 12 外部連結1940之前 编辑 nbsp 霍列瑞斯式的打孔機 pantograph 用於1890年的人口普查 1 第一個程式語言的出现早于現代的計算機的誕生 首先 這種語言是種代碼 於1804年發明的雅卡尔织布机 運用打孔卡上的坑洞來代表縫紉織布機的手臂動作 以便自動化產生裝飾的圖案 愛達 勒芙蕾絲在1842年至1843年間花費了九個月 將義大利數學家费德里科 路易吉關於查爾斯 巴貝奇新發表機器分析機的回憶錄翻譯完成 她於那篇文章後面附加了一個用分析機計算伯努利数方法的細節 被部分歷史學家認為是世界上第一個電腦程序 2 赫爾曼 何樂禮在觀察列車長對乘客票根在特定位置打洞的方式後得到灵感 把資訊編碼記載到打孔卡上 隨後根據這項發現使用打孔卡來編碼並紀錄1890年的人口統計資料 最早的計算機程式碼是針對他們的應用面設計的 例如 阿隆佐 邱奇曾以公式化 formulaic 的方式表達l演算 图灵机是一種紙帶標記 tape marking 機器 就像電話公司用的那種 操作方法抽象化後的集合 图灵机這種透過有限數字 finite number 呈現機器的方式 奠定了程式如同冯 诺伊曼结构計算機中的資料一樣地儲存的基礎 但不同於l演算 图灵机的程式碼並沒有辦法成為高階程式語言的基石 這是是因為它主要的用途是分析演算法的複雜度 第一個現代程式語言很難界定 最一開始是因為硬體限制而限定了語言 打孔卡允許80行 column 的長度 但某幾行必須用來記錄卡片的順序 FORTRAN則納入了一些與英文字詞相同的關鍵字 像是 IF GOTO 原字詞為go to 以及 CONTINUE 之後採用磁鼓作為記憶體使用 也代表計算機程式也必須插入 interleave 到磁鼓的轉動 rotation 中 和現今比較起來 這也讓程式語言必須更加依賴硬體 hardware dependent 對部分的人認為必須在 程式語言 的狀態確立之前 根據能力 power 以及可讀性 human readability 的程度來決定歷史上第一個程式語言是什麼語言 提花織布機和查爾斯 巴貝奇所製作的差分機都具備在大量限制下 簡單描述機器應執行行為的語言 也有種並非設計給人類運用的受限特定領域語言 是將打孔卡運用到自動演奏鋼琴上 1940年代 编辑最早被確認的現代化 電力啟動 electrically powered 的計算機約在1940年代被創造出來 程式設計師在有限的速度及記憶體容量限制之下 撰寫人工調整 hand tuned 過的組合語言程式 而且很快就發現到使用組合語言的這種撰寫方式需要花費大量的腦力 intellectual effort 而且很容易出錯 error prone 康拉德 楚澤於1948年發表了他所設計的Plankalkul程式語言的論文 3 但是在他有生之年卻未能將該語言實作 而他原本的貢獻也被其他的發展所孤立 1950與1960年代 编辑有三個現代程式語言於1950年代被設計出來 三者衍生的語言直到今日仍舊廣泛地被採用 FORTRAN 1955 名稱取自 FORmula TRANslator 公式翻譯器 由約翰 巴科斯等人所發明 LISP 名稱取自 LISt Processor 列舉處理器 由約翰 麥卡錫等人所發明 COBOL 名稱取自 COmmon Business Oriented Language 通用商業導向語言 由被葛麗絲 霍普深刻影響的Short Range Committee所發明 另一個1950年代晚期的里程碑是由美國與歐洲計算機學者針對 演算法的新語言 所組成的委員會出版的 ALGOL 60報告 名稱取自 ALGOrithmic Language 即演算法語言 這份報告強化了當時許多關於計算的想法 並提出了兩個語言上的創新功能 嵌套區塊結構 可以將有意義的程式碼片段群組成一個块 而非轉成分散且特定命名的程序 词法作用域 區塊可以有區塊外部無法透過名稱存取 屬於區塊本身的變數 程序以及函式 另一個創新則是關於語言的描述方式 一種名為巴科斯 諾爾範式 BNF 的數學化精確符號被用於描述語言的語法 之後的程式語言幾乎全部都採用類似BNF的方式來描述程式語法中上下文無關的部份 Algol 60對之後語言的設計上帶來了特殊的影響 部分的語言很快的就被廣泛採用 後續為了開發Algol的擴充子集合 設計了一個名為Burroughs大型系統 英语 Burroughs large systems 延續Algol的關鍵構想所產生的成果就是ALGOL 68 語法跟語意變的更加正交 orthogonal 採用匿名的例程 routines 採用高階 higher order 功能的遞迴式类型 typing 系統等等 整個語言及語意的部分都透過為了描述語言而特別設計的Van Wijngaarden grammar 英语 Van Wijngaarden grammar 來進行正式的定義 而不僅止於上下文無關的部份 Algol 68一些較少被使用到的語言功能 如同步與並列區塊 語法捷徑的複雜系統 以及型態自動強制轉換 coercions 使得實作者興趣缺缺 也讓Algol 68獲得了 難用 的名聲 尼克劳斯 维尔特就乾脆離開該設計委員會 另外再開發出更簡單的Pascal語言 在這段期間被開發出來的重要語言包括有 1951 Regional Assembly Language 1952 Autocode 英语 Autocode 1954 FORTRAN 1954 IPL LISP的先驅 1955 FLOW MATIC 英语 FLOW MATIC COBOL的先驅 1957 COMTRAN 英语 COMTRAN COBOL的先驅 1958 LISP 1958 ALGOL 58 1959 FACT 英语 FACT computer language COBOL的先驅 1959 COBOL 1962 APL 1962 Simula 1962 SNOBOL 1963 CPL C的先驅 1964 BASIC 1964 PL I 1967 BCPL C的先驅 1960年代晚期 1970年代晚期 確立了基礎範型 编辑1960年代晚期至1970年代晚期的期間中 程式語言的發展也有了重大的成果 大多數現在所使用的主要語言範型都是在這段期間中發明的 Simula 於1960年代晚期由奈加特與達爾以Algol 60超集合的方式發展 同時也是第一個設計支援物件導向進行開發的程式語言 C 於1969至1973年間由貝爾實驗室的研究人員丹尼斯 里奇與肯 汤普逊所開發 是一種早期的系統程式設計語言 Smalltalk 於1970年代中期所開發 是一個完全從零開始 ground up 設計的物件導向程式語言 Prolog 於1972年由Colmerauer 英语 Alain Colmerauer Roussel以及Kowalski所設計 是第一個邏輯程式語言 ML 於1973年由羅賓 米爾納所發明 是一個基於Lisp所建構的多型 polymorphic 型態系統 同時也是靜態型別函數程式語言的先驅 這些語言都各自演展出自己的家族分支 現今多數現代程式語言的祖先都可以追溯他們其中至少一個以上 在1960年代以及1970年代中結構化程式設計的優點也帶來許多的爭議 特別是在程式開發的過程中完全不使用GOTO 這項爭議跟語言本身的設計非常有關係 某些語言並沒有包含GOTO 這也強迫程式設計師必須結構化地編寫程式 儘管這個爭議在當時吵翻了天 但幾乎所有的程式設計師都同意就算語言本身有提供GOTO的功能 在除了少數罕見的情況下去使用GOTO是種不良的程序风格 結果是之後世代的程式語言設計者發覺到結構化程式語言的爭議實在既乏味又令人眼花繚亂 在這段期間被開發出來的重要語言包括有 1968 Logo 1970 Pascal 1970 Forth 1972 C 1972 Smalltalk 1972 Prolog 1973 ML 1975 Scheme 1978 SQL 起先只是一種查詢語言 擴充之後也具備了程式結構 1980年代 增強 模組 效能 编辑1980年代的程式語言與之前相較顯得更為強大 C 合併了物件導向以及系統程式設計 美國政府標準化一種名為Ada的系統程式語言並提供給國防承包商使用 日本以及其他地方運用了大量的資金對採用邏輯程式語言結構的第五代程式語言進行研究 函數程式語言社群則把焦點轉移到標準化ML及Lisp身上 這些活動都不是在開發新的範型 而是在將上個世代發明的構想進一步發揚光大 然而 在語言設計上有個重大的新趨勢 就是研究運用模組或大型組織化的程式單元來進行大型系統的開發 Modula Ada 以及ML都在1980年代發展出值得注意的模組化系統 模組化系統常拘泥於採用泛型程式設計結構 泛型存在 generics being 本質 essence 參數化模組 parameterized modules 參閱多态 儘管沒有出現新的主要程式語言範型 許多研究人員仍就擴充之前語言的構想並將它們運用到新的內容上 舉例來說 Argus 编程语言 以及Emerald 英语 Emerald programming language 系統的語言配合物件導向語言運用到分散式系統上 1980年代的程式語言實作情況也有所進展 计算机系统结构中RISC的進展假定硬體應當為編譯器設計 而非身為人類的組合語言程式設計師 藉由中央处理器速度增快的幫助 編譯技術也越來越積極 RISC的進展對高階語言編譯技術帶來不小的關注 語言技術持續這些發展並邁入了1990年代 在這段期間被開發出來的重要語言包括有 1980 Ada 1983 C 就像有類別的C 1984 Common Lisp 1985 Eiffel 1986 Erlang 1987 Perl 1988 Tcl 1989 FL Backus 1990年代 網際網路時代 编辑1990年代未見到有什麼重大的創新 大多都是以前構想的重組或變化 這段期間主要在推動的哲學是提升程式設計師的生產力 許多 快速應用程式開發 RAD 語言也應運而生 這些語言大多都有相應的整合開發環境 垃圾回收等機制 且大多是先前語言的衍生語言 這類型的語言也大多是物件導向的程式語言 包含有Object Pascal Visual Basic 以及C Java則是更加保守的語言 也具備垃圾回收機制 與其他類似語言相比 也受到更多的觀注 新的脚本语言則比RAD語言更新更好 這種語言並非直接從其他語言衍生 而且新的語法更加開放地 liberal 與功能契合 雖然腳本語言比RAD語言來的更有生產力 但大多會有因為小程式較為簡單 但是大型程式則難以使用腳本語言撰寫並維護的顧慮 來源請求 儘管如此 腳本語言還是網路層面的應用上大放異彩 在這段期間被開發出來的重要語言包括有 1990 Haskell 1991 Python 1991 Visual Basic 1993 Ruby 1993 Lua 1994 CLOS part of ANSI Common Lisp 1995 Java 1995 Delphi Object Pascal 1995 JavaScript 1995 PHP 1997 REBOL 1999 D現今的趨勢 编辑程式語言持續在學術及企業兩個層面中發展進化 目前的一些趨勢包含有 在語言中增加安全性與可靠性驗證機制 額外的堆疊檢查 資訊流 information flow 控制 以及靜態執行緒安全 提供模組化的替代機制 混入 委托 以及剖面導向 元件導向 component oriented 軟體開發 元編程 反射或是存取抽象語法樹 更重視分散式及移動式的應用 與資料庫的整合 包含XML及關聯式資料庫 支援使用Unicode編寫程式 所以原始碼不會受到ASCII字元集的限制 而可以使用像是非拉丁語系的腳本或延伸標點符號 圖形化使用者介面所使用的XML XUL XAML 在這段期間被開發出來的重要語言包括有 2001 C 2001 Visual Basic NET 2002 F 2003 Scala 2003 Factor 2006 Windows PowerShell 2007 Clojure 2009 Go 2014 Swift 程式語言 程式語言發展史上的傑出人物 编辑約翰 巴科斯 發明了Fortran 阿兰 库珀 開發了Visual Basic 艾兹格 迪杰斯特拉 開創了正確運用程式語言 proper programming 的框架 詹姆斯 高斯林 開發了Oak 該語言為Java的先驅 安德斯 海爾斯伯格 開發了Turbo Pascal Delphi 以及C 葛麗絲 霍普 開發了Flow Matic 英语 Flow Matic 該語言對COBOL造成了影響 肯尼斯 艾佛森 開發了APL 並與許國華 英语 Roger Hui 合作開發了J 比爾 喬伊 發明了vi BSD Unix的前期作者 以及SunOS的發起人 該作業系統後來改名為Solaris 艾倫 凱 開創了物件導向程式語言 以及Smalltalk的發起人 布萊恩 柯林漢 與丹尼斯 里奇合著第一本C程式設計語言的書籍 同時也是AWK與AMPL程式設計語言的共同作者 约翰 麦卡锡 發明了LISP 約翰 馮 諾伊曼 作業系統概念的發起者 丹尼斯 里奇 發明了C 比雅尼 史特勞斯特魯普 開發了C 肯 汤普逊 發明了Unix 尼克劳斯 维尔特 發明了Pascal Modula與Oberon 拉里 沃爾 創造了Perl與Raku 吉多 范羅蘇姆 創造了Python 參閱 编辑ACM程式設計語言研討會歷史 編譯器撰寫歷史 計算機硬體歷史 程式語言 計算年表 程式語言年表 程式語言列表參考文獻 编辑 Truesdell Leon E The Development of Punch Card Tabulation in the Bureau of the Census 1890 1940 US GPO 1965 J Fuegi and J Francis Lovelace amp Babbage and the creation of the 1843 notes Annals of the History of Computing October December 2003 25 4 19 25 doi 10 1109 MAHC 2003 1253887 1 页面存档备份 存于互联网档案馆 延伸閱讀 编辑Sammet Jean E Programming Languages History and Fundamentals Prentice Hall 1969外部連結 编辑The History of Programming Languages by Diarmuid Pigott History and evolution of programming languages The Evolution of Programming Languages 页面存档备份 存于互联网档案馆 by Peter Grogono PDF Graph of programming language history 页面存档备份 存于互联网档案馆 Topics in history and comparing programming languages by Dennie Van Tassel 取自 https zh wikipedia org w index php title 程式語言歷史 amp oldid 78598849, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。