成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么Lisp沒有流行起來

開發 開發工具
很久以前,這種語言站在計算機科學研究的前沿,特別是人工智能的研究方面。現在,它很少被用到,這一切并不是因為古老,類似古老的語言卻被廣泛應用.

本文探討的是為什么Lisp語言不再被廣泛使用的。

很久以前,這種語言站在計算機科學研究的前沿,特別是人工智能的研究方面。現在,它很少被用到,這一切并不是因為古老,類似古老的語言卻被廣泛應用.

其他類似的古老的語言有 FORTRAN, COBOL, LISP, BASIC, 和ALGOL 家族,這些語言的唯一不同之處在于,他們為誰設計,FORTRAN是為科學家和工程師設計的,他們在計算機上編程的目的是是為了解決問題.COBOL是為了商業設計的,***的體現在于讓商人們可以利用電腦時代.LISP是了計算機科學研究設計的,最突出的體現在計算機基本原理研究.BASIC是為初學者設計的.***,ALGOL語言是有計算機程序員修改,演變成其他流行的語言,如C,Pascal和Java的一個龐大的家族。

上面提到的某些語言已經不像當初那么流行了。我們在這里可以把它們稱作“失敗”。問題是它們為什么失敗?***站出來的是COBOL. 很不幸,它以面向商業人員的很好的可讀性就是它的失敗點。商業人員發現,他們可以雇傭程序員去管理他們的系統。程序員自然會偏向于為他們設計的語言,而不是他們的老板。所以隨著時間推移,越來越多的商業功能都使用例如VB, C, C++ 和JAVA實現了。現在,只有很少一部分軟件仍通過COBOL語言編寫。

BASIC卻有不同的命運。他是為入門人員設計的。那些在微機上學習編程,他們會使用內置的BASIC語言作為起點。隨著時間推移,微機被運行微軟操作系統的個人電腦,或者MacOS的蘋果電腦所代替。這種語言逐漸被VB所取代。雖然他是面向初級程序員,它有一段時間代替了COBOL。為什么要耗費這么多的資源在昂貴的編譯器上,而便宜的解釋器在我們的電腦上已經存在?最近,微軟以遷移到.NET框架上,讓VB跟在后面。它的替代者, C#就是ALGOL家族中的一員,跟Java相近。

這些年FORTRAN的使用起起伏伏。在某一階段,差不多所有科學方面的代碼是用它來寫的。它的優點是這門語言中沒有指針,并且不允許存在遞歸。這意味著所有數據的引用位置都可以在編譯時確定。FORTRAN編譯器利用這些額外的信息使程序運行格外地迅速。不幸的是,隨著時間的推移,固定大小的數組這種數據結構變得過時了。現在,科學要處理任意形狀的風格,甚至表述更為復雜的真實世界。這需要在語言中額外地加入指針。這些情況發生的時間段里,FORTRAN逐漸走向沒落。現在,它被轉移到高性能計算工作,其中新的并行矩陣和矢量運算最近添加到這門語言中,仍然使它擁有性能優勢。

ALGOL語言家族取得了成功。其原因是,這些語言是由程序員為程序員寫的。隨著時間的推移,這些與系統和應用相關的語言成為了現在最常用的語言。它的優點是越多地程序員使用,這門語言就能得到更多地改進,并且越來越多地程序是用它們來寫就的。這提供了一個良性循環,更多的程序員們又被聘請在己編寫的程序上工作。這是一個網絡效應的例子。一個系統的“價值”是它的用戶數目的平方,在于以此速率增長的用戶之間的交互作用。

那么為什么Lisp語言家族會站在失敗者一邊呢?有些人認為是語法的錯。Lisp因為它的括號而臭名昭著。我并不認為是這個理由。許多用戶說良好的格式可以讓他們跟上這些括號。同時,Lisp語言被發明不久后,有一個叫“super-bracket”的語法可以讓人快速表示出任意數量的回括號")"。這個特性在今天已經很少有人使用了。***,優秀的編輯器解決了大多數的語法問題。

另一些人經常抱怨Lisp是一門函數式語言。這是失敗的理由嗎?自然,跟早期的語言相比,只有Lisp算是函數式的。但事實上,我認為沒有這么簡單。Lisp也有命令式語言的特性,ALGOL系列語言也可以被當作一門純正的函數式語言來用。 如果有人想選擇一種特定的編程范式來寫代碼,一些特定的語言可以讓這個選擇更容易的實現。然而,現代語言已經足夠靈活,它們能支持多種編程范式,近乎完全命令式的Lisp沒有理由不存在。

或許lisp的問題在于他使用了垃圾回收?在那個時候,只有lisp作為計算機語言采用了這個特性。誠然,垃圾回收會占用大量的計算資源,而早期計算機在該方面的不足足以組織lisp大展拳腳了。但是,我認為這仍然不是主要的原因。lisp是用來寫那些復雜度相當高的程序的,而這些程序在事實上都必須帶有一個垃圾回收模塊,如果你用其他的語言來寫……大概很難比lisp實現的要好吧?眾所周知的事實是,任何一個如此復雜的程序,如果用其他語言寫的話都不可避免的戴上一個比lisp垃圾回收臃腫不少的功能模塊……

lisp的失敗,恰恰是因為他太成功,這讓他的目標變得模糊。lisp相對與早期的語言實在是非常靈活,靈活到足以改變自身形式以適應需求。對于其他的語言來說,如果想要完成一個龐大的任務,就需要把這個任務打碎成一小塊一小塊的然后完成。如果是一個更大的呢?甚至連編譯都需要分步完成了。但是lisp不是這樣的,由于他強大的能力,程序員可以將lisp改造成特定領域的專門工具——順手的工具將順手的解決問題——任務輕松完成了。由于語言的正交性(譯者注:這里可能應該理解為“自洽”),我們改造過的lisp仍然可以使用原有的編譯器,解釋器運行。

那么建立特定領域的語言來作為一個問題的解決方案,它會出現什么問題呢?結果是它非常高效。然而,這種做法會使語言分化。這導致許多子語言都略有不同。這是Lisp代碼對其他人而言可讀性差的真正原因。在其他語言中,相對來說比較簡單就能臆測出一段給定代碼的作用。有著超強的表達力的Lisp,由于一個給定的符號(symbol)可能是一個變量,函數或操作,需要閱讀大量代碼才能找出它。

Lisp失敗的原因是因為它的碎片化,并且它的碎片化是因為其語言天性與特定領域方案的風格造成的。而網絡效應則恰恰相反。越來越少的程序員使用相同的方言,因此它相對與ALGOL語言家族的總價值下降。

如果有人現在設計一種語言,該如何避免這種問題呢?如果語言的表達性是我們的目標,那么它必須以某種方式加以調整。這門語言必須要有特意的限制,來保證所編寫代碼的可讀性。Python是一門成功的語言,它已經做到了這些,其中某些限制是硬編碼的,而另一些則是以約定成俗的方式存在。

不幸的是,這么久過去了并且發明了這么多Lisp的變種語言,在其之上建立的其它新語言大概并不是所要的答案。根本不會有足夠多的用戶使它與眾不同。也許解決的辦法是,慢慢加入類似Lisp的語言功能到ALGOL語言家族中。幸運的是,這似乎是正在所發生的事。新的語言(C#,D,Python等)趨向于擁有垃圾回收機制。他們也往往比舊的語言更具正交性。在未來,最終會有行為很像Lisp的一種流行語言。

原文鏈接:http://www.oschina.net/translate/why_lisp_failed

英文原文:Why Lisp Failed

責任編輯:張偉 來源: oschina
相關推薦

2015-12-16 10:30:44

Material De設計APP

2017-11-10 09:00:02

Linux桌面版市場占有率

2015-05-13 09:45:13

2016-11-09 06:56:00

超融合

2019-04-03 15:46:55

中國編程語言

2023-08-28 09:05:46

LinuxJVM開源

2012-04-09 13:35:10

Instagram

2011-10-14 09:20:48

Lisp

2023-06-07 19:22:21

2015-05-20 16:53:49

網絡·安全技術周刊

2024-06-05 09:26:07

2021-03-03 11:09:25

Windows鴻蒙系統操作系統

2019-10-28 15:10:31

懶人剪輯運動相機移動應用

2022-06-12 21:36:57

Hooksreact

2014-12-23 09:34:47

動態語言

2024-02-05 22:51:49

AGIRustPython

2015-05-18 13:49:37

OpenStack云計算應用

2020-05-21 09:56:54

語音技術新冠病毒人工智能

2011-09-06 09:37:04

MTK平臺

2024-06-18 07:46:13

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文成人在线 | 国产成人精品在线播放 | 午夜天堂精品久久久久 | 最新国产精品 | 亚洲综合视频 | 国产熟熟| 国产精品国产自产拍高清 | 国产激情一区二区三区 | 午夜电影福利 | 国产成人精品一区二区在线 | av网站免费| 国产日韩欧美一区二区 | 精品一区二区三区电影 | 亚洲成人免费视频在线观看 | 亚洲一区中文字幕在线观看 | 成人影院网站ww555久久精品 | 欧美精品在线播放 | 中日字幕大片在线播放 | 精品少妇一区二区三区日产乱码 | 日韩一区二区在线视频 | 亚洲国产精品一区 | 中文av字幕| 91精品国产一区二区三区 | 一区二区三区视频播放 | 中文字幕日韩欧美 | 国产小视频自拍 | 欧美在线播放一区 | 在线视频一区二区 | 国产美女一区二区 | 欧美国产一区二区 | 欧美激情视频一区二区三区在线播放 | 国产精品爱久久久久久久 | 国产精品久久久久国产a级 欧美日韩国产免费 | 国产一区二区三区亚洲 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 亚洲国产欧美日韩 | 日韩成人免费视频 | 蜜臀网| 久久er99热精品一区二区 | 成人国产网站 | 一区二区三区在线观看视频 |