-
APL語言
鎖定
- 中文名
- APL語言
- 外文名
- A Programming Language
- 別 名
- Array Processing Language
- 表達式
- APL
- 提出者
- 肯尼斯·艾佛森
- 提出時間
- 1962年
- 適用領域
- 程序設計
- 應用學科
- 計算機
目錄
- 1 簡介
- 2 字母表
- 3 APL語言的Hello World程序
APL語言簡介
在許多應用場合下(數學、科學、工程技術、電腦設計、機器人、數據顯示、保險技術、傳統的數據處理等等)APL是一種非常有力的、表達豐富的和簡明的編程語言。它一般被用在一個與用户接口的環境中。它最初的設計目的是將數學公式寫成一種電腦可以理解的方式。學它一般很容易,但要分析APL寫成的程序往往需要一段時間。與傳統的結構式編程語言不同的是,APL的程序一般由一系列使用在序列上的單元的或雙元的函數或運算符號組成。由於APL擁有許多非標準的運算符號,這些符號之間沒有優先性(比如一般數學中的乘號、除號較加號、減號有優先權,APL中沒有這樣的優先權)。最初的APL語言沒有任何控制結構如重複(do-while)或者條件選擇(if-then-else),但一些序列運算符號可以用來模擬編程結構,比如iota(用來獲得一個從1至N的序列)可以用來模擬重複(for)。
APL的工作環境被稱為工作場。在這個工作場內用户可以定義程序和數據。數據也可以在工作場在程序外存在。用户可以在程序外改變數據,比如:
N <- 4 5 6 7
將一個系列的數據4、5、6、7授予N。
N + 4
輸出8、9、10、11。
+/N
輸出N內所有數的和,既22。
APL最著名的就是它使用一組非ASCII符號。這些符號比一般常見的代數和計算符號要多。用兩行這樣的奇形怪狀的符號就可以將所有航空控制的問題解決了。事實上,在一些APL版本中,用一行程序就可以將任何可計算的函數表達出來。在用一行你可以將這個函數的結構表達出來。由於它的精密的結構和非標準的符號,也有人將APL稱為“只寫語言”。除數學家外,其他人要讀APL寫的程序都感到非常困難。有些數學家覺得其它語言比APL難懂。由於APL使用不尋常的符號,許多編程員在寫APL程序時使用專門的APL鍵盤。也有不同的只使用ASCII字母寫APL的方法。
下面這個例子排列一個存在X裏的詞的序列,排列標準是每個詞的長度:
X[X+.¬' ';]
APL語言字母表
從一開始就有人批評APL使用一套特別的、非標準的字母表。學過APL的人一般很喜歡這些特別的符號,這説明當時艾佛森選擇這些符號時是有一定的用意的。Unicode包含這些字母,Unicode被引入後,要尋找特別的字型的問題開始有所減緩。雖然如此依然有人批評當初APL設計時所選擇的特殊的符號。這些專門為APL設計的鍵盤無論如何不會非常普及。
APL語言APL語言的Hello World程序
'Hello World'
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:10次歷史版本
- 最近更新: 几个哈哈313