ALGOL ,為算法語言(ALGOrithmic Language)的縮寫,是計算機發展史上首批產生的高級程式語言家族。當時還是晶體管計算機流行的時代,由于ALGOL語句和普通語言表達式接近,更適于數值計算,所以ALGOL多用于科學計算機。
ALGOL語言發展
ALGOL 58
1958年,ACM小組(美國計算機協會)和以當時德國的應用數學和力學協會(GAMM)在蘇黎世把他們關于算法表示法的建議綜合為一,是一種編程語言,被命名為IAL(國際代數語言,International Algebraic Language),后來改稱Algol 58。ALGOL家族的第一個成員。
ALGOL 60
圖靈獎獲得者:艾倫。佩利(Alan J.Perlis)在巴黎舉行的有全世界一流軟件專家參加的討論會上,發表了"算法語言Algol 60報告",確定了程序設計語言Algol 60。ALGOL60語言的第一個編譯器由Edsger W. Dijkstra來實現。1962年,艾倫。佩利又對Algol 60進行了修正。
Algol 60引進了許多新的概念如:局部性概念、動態、遞歸、巴科斯-諾爾范式BNF(Backus-Naur Form)等等。
Algol 60是程序設計語言發展史上的一個里程碑,它標志著程序設計語言成為一門獨立的科學學科,并為后來軟件自動化及軟件可靠性的發展奠定了基礎。
2006年3月1日,國際計算機協會(ACM)宣布彼得。諾爾為2005年圖靈獎的獲得者。這個獎項是由于諾爾在定義Algol 60這種程序設計語言方面的先驅性工作而頒發給他的。Algol 60是許多后來的程序設計語言,包括今天那些必不可少的軟件工程工具的原型。
諾爾博士在1960年是具有極高影響的《算法語言Algol 60報告》的主編。這份報告的優雅、一致和連貫使他聲名鵲起,并被認為是創造了這種算法語言的強大功能和簡易性的重要貢獻者。這份報告先驅性地使用了BNF范式(Bcakus-Naur-Form)用以定義程序設計語言的語法。B F現在是定義一種計算機語言的標準方式。諾爾還因為他對于編譯設計的貢獻、以及在計算機程序設計方面的技巧與實踐而受到表彰。
計算科學誕生的標志
2002年,前圖靈獎得主Edsger Dijstra把Algol 60的發展描述為“一個絕對的奇跡”,標志著他所說的“計算科學”的誕生,因為Algol 60首次顯示了自動計算能夠并且應當成為學術關注的主題。 Algol 60的發展是一群極具天賦的人才的工作成果,其中包括幾位以后的圖靈獎獲得者。
在Algol 60報告出版之前,計算機語言是通過說明性的使用手冊和編譯代碼本身而非正式地定義。這個報告通過使用BNF來定義語法,并用精心選擇的說明文字定義語義,從而簡潔、有力而又清晰。17頁長的Algol 60報告展示了對優雅清晰的語言的完美定義,這種語言可用于計算機之間交流,也可用于人類之間交流。這種語言精心地做到不依賴于任何特定的計算機的屬性。這種新的語言對于編譯程序作者是一個很大的挑戰。諾爾博士繼續和他人合著了《GIER Algol 編譯程序》(丹麥開發的晶體管電子計算機被稱為GIER),這是第一批能夠完全準確地處理語言的強大過程機理的編譯程序之一。
參考資料 >