Lisp 程式設計/入門
外觀
Lisp 是繼 Fortran 之後,至今仍在使用的最古老的程式語言。它是一種函式式、命令式、動態強型別語言,但與現存的幾乎所有其他語言都截然不同。它可以編譯或解釋執行,好的編譯器可以生成執行速度幾乎與 C 一樣的程式碼。 "Lisp" 這個名字是 List Processing 的縮寫,但在 Paul Graham 的話中,Lisp 與列表處理的關係,就像 polo 衫與馬球的關係一樣。
Lisp 已成為 人工智慧 系統的語言,這確實也是它的最初目的。然而,它已被證明是一種非常通用的語言,用於各種各樣的應用程式,包括 web 應用程式、CAD 軟體和 Emacs 文字編輯器。
Lisp 程式碼乍一看很奇怪,主要是因為它的 字首表示法。在 中綴表示法 中,表示式用兩個運算元之間的每個二元運算子來寫
2 + 3 + 4 + 5
在字首表示法中,運算子可以取任意數量的運算元,而不僅僅是兩個。運算子位於最前面,後面跟著運算元
(+ 2 3 4 5)
括號始終是必需的,因為它們顯示了函式引數的開始和結束位置。這種形式的表示式被稱為 s 表示式。
Lisp 中的函式呼叫也採用 s 表示式的形式:括號中的第一個標記指定函式,括號中的其餘標記和表示式是引數。例如,一個 Lisp Hello, World 程式可以這樣寫
(print "Hello, World")
(在某些 Lisp 方言中,用於列印到標準輸出的函式被稱為 print 以外的其他名稱。)