快訊

將與黃仁勳同台!世壯運明登場 蕭美琴可望出席開幕典禮

NBA/約柯奇29分、14籃板扳平雷霆 金塊將連兩輪打搶七

「神秘數字」籲暗殺川普?前FBI局長發照片挨轟後刪文

科學人/開創程式語言的新天地…Pascal語言之父「沃斯」

圖/Wikimedia Commons
圖/Wikimedia Commons

我教導學生撰寫計算機程式時,總是耳提面命、再三強調,程式等於資料結構加上演算法。其實這個想法源自於1984年圖靈獎得主沃斯(Niklaus Emil Wirth, 1934~)。他發明兩種計算機語言,在計算機科學領域嶄露頭角;其一是基於他博士論文開發出來的歐拉(Euler),其二是IBM System/360系列計算機的系統程式語言PL360。這項早期成果在語法和語意的形式分離、新穎的實施(implementation)技術以及細緻的語言設計方面開闢了新的天地,因此可進行高效率的語法解析。

這兩種語言都深受ALGOL的影響,沃斯是ALGOL專案小組成員。ALGOL之前的第一批高階語言廣受歡迎,例如Fortran,因為把編寫並維護應用程式變得更容易。但是由於硬體能力非常有限,編譯器技術尚在起步,語言本身也很笨拙或過於複雜,計算機製造商很難實施程式語言。ALGOL 60是ALGOL系列最重要的發明,引入了遞迴函數、結構化程式區塊和局部變數,並且開創了程式語言語法的正式描述。

ALGOL專案為新興的計算機科學奠定了重要基礎。1966年沃斯提議,以他發明的語言Euler來擴展並改進ALGOL-60。ALGOL小組投票反對沃斯的提案,選擇了非常複雜的設計,亦即後來的ALGOL-68。ALGOL-68的提案充滿了新穎但難以實現的功能,複雜設計的主要原因之一是軟體設計者採用了使用者想要的所有功能,卻沒有加以審視。他於1968年與霍爾(C.A.R. Hoare)合作,把被拒絕的提案開發成非官方的ALGOL版本,稱為ALGOL-W。

沃斯認為高品質的軟體是有必要的。因此他以ALGOL-W為基礎,依循個人的審美觀,開發出非常有影響力的計算機語言Pascal。Pascal簡單、靈活,能夠快速編譯成高效率目的碼。它簡化了ALGOL的複雜性,但保留其程式結構、邏輯完整性和遞迴功能,並新增了支援使用者定義數據的類型。沃斯後來寫道:「最重要的指導方針包括那些已清楚理解的功能,特別是實作者理解的功能,而忽略尚未嘗試和未實施的功能。」

為了幫助在各種計算機上實施Pascal,沃斯設計了一種為虛擬機編寫的新穎編譯器,並生成了在虛擬機上運行的程式碼。在新計算機上模擬此虛擬機,致使編譯器的安裝變得容易。隨著個人電腦的普及,Pascal變成1980年代的主流計算機語言,因為它的的簡單性和效率使其非常適合運作於個人電腦有限的記憶體和磁碟空間。

本專欄感謝中華民國資訊軟體協會、台灣電腦資訊發展館支持

(本文出自2024.05.01《科學人》網站,未經同意禁止轉載。)

科學 程式語言 計算機

延伸閱讀

故宮7案預算全數解凍 但須對「新故宮計畫」提書面報告

藍委提修法增加勞工特休假 勞長洪申翰:搜集各方意見

立院交委會與連江縣府座談 聚焦交通船補貼問題

FUBON Talks富邦演說秀 聚焦AI、防詐與永續議題

相關新聞

新聞中的公民與社會/藥師抗議要求撤解釋令 從法律解釋爭議與利益衝突檢視

針對衛福部今年3月18日發布的「衛部中字第1141860113號解釋令」,藥界嚴正抗議表達訴求,今天號召5000名藥師上凱道抗議,強烈要求撤回解釋令…

科學人/偏方不可信?科學證實「母乳可當眼藥水」 助角膜修復

面對孩子身上層出不窮的大小狀況,許多父母都會口耳相傳各類偏方。用母乳舒緩寶寶眼睛的不適或紅疹,也不是迄今唯一的案例。這次經驗聽起來像是民間偏方,但麥考特將此偏方帶入實驗室,與研究角膜療法的專家彼特拉什

圖表看時事/美中關稅暫停火!聲明重點、兩國貿易5關鍵商品一次看

美中互降關稅,紐約時報報導,美國財長貝森特和貿易代表葛里爾說明協議時,為避免觸怒大陸小心翼翼,反將貿易戰大部分歸咎於前總...

好讀周報/義大利水都面臨滅頂危機 專家提解方:讓威尼斯「浮起來」

義大利「水都」威尼斯(Venice)是一座「漂浮的城市」,卻也是「逐漸下沉的城市」。過去100年以來,威尼斯已下沉約25...

紐時賞析/川普關稅重創美國經濟 民眾為省錢不吃零食少洗衣

Consumers, worried about the economy, are pulling back on th...

好讀周報/曾畫習近平與澤倫斯基通話「微博遭封」 陸藝術家:知道底線在哪

現年67歲的徐唯辛是中國著名藝術家,曾任中國人民大學藝術學院執行院長、教授。他對「華爾街日報」說,有好幾次,他以前的學生...

商品推薦

udn討論區

0 則留言
規範
  • 張貼文章或下標籤,不得有違法或侵害他人權益之言論,違者應自負法律責任。
  • 對於明知不實或過度情緒謾罵之言論,經網友檢舉或本網站發現,聯合新聞網有權逕予刪除文章、停權或解除會員資格。不同意上述規範者,請勿張貼文章。
  • 對於無意義、與本文無關、明知不實、謾罵之標籤,聯合新聞網有權逕予刪除標籤、停權或解除會員資格。不同意上述規範者,請勿下標籤。
  • 凡「暱稱」涉及謾罵、髒話穢言、侵害他人權利,聯合新聞網有權逕予刪除發言文章、停權或解除會員資格。不同意上述規範者,請勿張貼文章。