APL(全名:A Programming Language[6][7],直譯 「一種程式語言」)係一種直譯[8] 函數式程式語言[9],雛形由 Ken Iverson 設計[10]1962年喺佢嘅著作 A Programming Language 度發表[9],但係實際行得嘅版本 Adin Falkoff 有份幫手設計[2]1965年第一次出現[11][1]。佢基本上係一種數學表示法,所以用到好多特殊符號[9](不過喺某啲系統其實可以唔用特殊符號都得[12]),呢啲特殊符號有啲後來影響返數學,變成普通嘅數學符號[13],亦曾經有人當佢做普通嘅數學表示法,用嚟解釋代數微積分等等嘅數學概念[14]

Quick Facts 編程範式, 設計者 ...
APL
編程範式函數式編程
設計者Kenneth Eugene Iverson[1]
(同 Adin Falkoff][2]
編程員計法1:Larry BreedPhilip Abrams[3]
計法2:Dick LathwellRoger MoorePhilip AbramsLarry Breed[2]
第一次出現計法1:1965年 59年之前 (1965)(事實上)
計法2:1966年11月27號 57年之前 (1966-11-27)[註 1]
衍生變體
A+[5]J[1]
啟發語言
張量代數、算子概念[1]
影響語言
ALGOL 68MatlabMathematica[5]
Close

矩陣向量都係 APL 嘅基本資料類型,有標準方法表示同有標準嘅函數處理[15],有被形容係陣列語言[16]

控制流程方面,APL 用嘅係跳轉句(branch statement,即係 goto[17],冇特別語法表示結構化編程嘅流程控制[13]

用 APL 寫嘅程式通常都好簡短,但係亦因為咁被人話佢難明[18]

簡史

APL 喺1956年左右開始設計[11],本來只係一種數學嘅表示法,叫 Iverson 表示法[19],用嚟喺教書同寫書嗰陣講解同分析有關資訊處理演算法嘅嘢[11][1],後來為咗整到佢真係可以喺電腦度行,做過唔細嘅改動[10],第一次大改動喺1964年,喺用佢描述 System 360 嗰陣發覺原先設計嘅表示法唔啱使,要加同改嘢,第二次大改動喺幫終端機設計字粒球嗰陣,發覺唔可以好似數學咁用2D語法,要將語法線性化[19]

1965年最初行得嘅版本係成批處理[註 2]batch processing)嘅版本,1966年先有互動介面[11]

佢喺1989年[20]國際標準化組織標準化,編號 ISO 8485[21]2001年[7]再訂新標準,編號 ISO 13751,被認為係現時嘅標準[21],但係新標準叫 「APL 擴展版」[暫譯]Extended APL[7],舊標準其實仍然有效[20]

例子

Hello world 喺 APL 可以咁寫(正方格 ⎕ 表示終端機[22],喺呢度指螢幕;字串用半形單引號[23]):

⎕ ← 'Hello world'

但係因為 APL 係綜合開發環境之下用嘅直譯語言,直譯器會自動顯示輸入算式嘅數值;所以可以略去輸出螢幕嘅指示[24],就咁寫

'Hello world'

參考

註釋

書目

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.