為什麼 Lisp 有許多的方言?

時間 2021-05-31 15:08:40

1樓:連城

這是因為LISP的廣義表結構和巨集機制非常適合去創造各種方言。而其它語言,諸如C++/Object-C,也許可以看作是C的方言(持保留態度),但開發這些語言的編譯器/直譯器的難度相較於在LISP中開發LISP方言的直譯器的難度,要高出非常多。

例如SICP一書作為MIT的本科教材,就非常輕鬆簡單地闡述了基於Scheme的兩種Scheme方言(Scheme本身也是一種LISP方言)。

簡而言之,LISP方言多,是因為LISP適合用於建立各種方言(或者說DSL)。

2樓:拿鐵大

Lisp的歷史很久,這是乙個重要的原因。

Lisp在誕生初期效能並不好,甚至有了如Lisp machine等專門為了執行Lisp程式的硬體產生。各種實現上的改進以及針對不同硬體環境的優化,產生了一系列的版本。相對而言,Lisp語言的實現相對容易,這也吸引了很多人在Lisp的基礎實驗各種語言特性,考慮當時的交流不便捷,這也會產生各種方言。

另外,並不只有Lisp有許多方言。不嚴格的說,C++, Objective C, D都可以視為C的方言。

3樓:

Lisp採用的是自底向上的設計,可塑性、靈活性、可擴充套件性非常強大,可以用它隨心所欲的塑造你所需要的語言,可以邊寫程式邊做計畫,可以信馬由韁,我認為這個原因是lisp產生許多方言的主要原因。尤其在lisp的發展初期,並沒有形成統一的需求。2023年才開始標準化,標準化是需要發起者,是需要領袖的,而這種發起者和領袖是時勢的產物,所謂時勢造英雄。

所以lisp有許多方言是必然的事情。

Lisp 有沒有用縮排替代部分括號的方言?

楊雙成 你需要 Readable Readable Lisp S expressions它是乙個包不是新方言,文件說 Common Lisp 和 Guile 可用。但是啊,能用的就只用 Clisp 的和 Guile 的。寫的時候當成 Python 寫,不寫冒號,寫中綴表示式時在外層加大括號。Clis...

為什麼你覺得 Lisp 難學

羅瀟 吐槽括號難得打可以,吐槽括號多寫出來自己都不認識的,把括號顏色調暗點,這尼瑪和不寫end的ruby有什麼區別。lisp難,難在你把它當別的語言學了,想兩天看個語法大概然後就上手,然後發覺咦,沒什麼語法?結果一寫處處都不對。這東西完全是新的思路,最好的學習方法應該是當做研究演算法的工具,換成函式...

方言為什麼有漢字?

入眠 避凶就吉精明鬼,千變萬化心不變,可以理解的動物性格是狗,因為狗很聰明,它能聽懂人說的詒,也昊最忠誠的,特別對主人更加忠誠,所以是狗。 漢字是一套表意系統,也可以用來注音。表意系統除了純粹象形的基本符號,發明起來非常繁瑣 注音系統發明起來則更為複雜。所以當周邊群體有了相對成熟的表意或注音系統後,...