為什么Lisp沒有流行起來

為什么Lisp沒有流行起來 - 技術(shù)翻譯 - 開源中國社區(qū)
http://www.oschina.net/translate/why_lisp_failed?p=1

由于他強(qiáng)大的能力,程序員可以將lisp改造成特定領(lǐng)域的專門工具——順手的工具將順手的解決問題——任務(wù)輕松完成了。

那么建立特定領(lǐng)域的語言來作為一個(gè)問題的解決方案,它會出現(xiàn)什么問題呢疲吸?結(jié)果是它非常高效灶挟。然而坏逢,這種做法會使語言分化赃承。這導(dǎo)致許多子語言都略有不同妙黍。這是Lisp代碼對其他人而言可讀性差的真正原因。在其他語言中瞧剖,相對來說比較簡單就能臆測出一段給定代碼的作用拭嫁。有著超強(qiáng)的表達(dá)力的Lisp,由于一個(gè)給定的符號(symbol)可能是一個(gè)變量抓于,函數(shù)或操作做粤,需要閱讀大量代碼才能找出它。


本文探討的是為什么Lisp語言不再被廣泛使用的捉撮。
很久以前怕品,這種語言站在計(jì)算機(jī)科學(xué)研究的前沿,特別是人工智能的研究方面〗碓猓現(xiàn)在肉康,它很少被用到,這一切并不是因?yàn)楣爬?類似古老的語言卻被廣泛應(yīng)用.
其他類似的古老的語言有 FORTRAN, COBOL, LISP, BASIC, 和ALGOL 家族,這些語言的唯一不同之處在于,他們?yōu)檎l設(shè)計(jì),FORTRAN是為科學(xué)家和工程師設(shè)計(jì)的,他們在計(jì)算機(jī)上編程的目的是是為了解決問題.COBOL是為了商業(yè)設(shè)計(jì)的,最好的體現(xiàn)在于讓商人們可以利用電腦時(shí)代.LISP是了計(jì)算機(jī)科學(xué)研究設(shè)計(jì)的,最突出的體現(xiàn)在計(jì)算機(jī)基本原理研究.BASIC是為初學(xué)者設(shè)計(jì)的.最后,ALGOL語言是有計(jì)算機(jī)程序員修改恢总,演變成其他流行的語言迎罗,如C,Pascal和Java的一個(gè)龐大的家族片仿。

指尖上的奮斗翻譯于 4年前
4人頂

頂 翻譯的不錯哦!

其它翻譯版本(1)

上面提到的某些語言已經(jīng)不像當(dāng)初那么流行了纹安。我們在這里可以把它們稱作“失敗”。問題是它們?yōu)槭裁词砂豌∠崞瘢康谝徽境鰜淼氖荂OBOL. 很不幸,它以面向商業(yè)人員的很好的可讀性就是它的失敗點(diǎn)阳距。商業(yè)人員發(fā)現(xiàn)塔粒,他們可以雇傭程序員去管理他們的系統(tǒng)。程序員自然會偏向于為他們設(shè)計(jì)的語言筐摘,而不是他們的老板卒茬。所以隨著時(shí)間推移,越來越多的商業(yè)功能都使用例如VB, C, C++ 和JAVA實(shí)現(xiàn)了】欤現(xiàn)在圃酵,只有很少一部分軟件仍通過COBOL語言編寫。
BASIC卻有不同的命運(yùn)馍管。他是為入門人員設(shè)計(jì)的郭赐。那些在微機(jī)上學(xué)習(xí)編程,他們會使用內(nèi)置的BASIC語言作為起點(diǎn)确沸。隨著時(shí)間推移捌锭,微機(jī)被運(yùn)行微軟操作系統(tǒng)的個(gè)人電腦俘陷,或者M(jìn)acOS的蘋果電腦所代替。這種語言逐漸被VB所取代观谦。雖然他是面向初級程序員拉盾,它有一段時(shí)間代替了COBOL。為什么要耗費(fèi)這么多的資源在昂貴的編譯器上坎匿,而便宜的解釋器在我們的電腦上已經(jīng)存在盾剩?最近雷激,微軟以遷移到.NET框架上替蔬,讓VB跟在后面。它的替代者屎暇, C#就是ALGOL家族中的一員承桥,跟Java相近。

enixyu翻譯于 4年前
3人頂

頂 翻譯的不錯哦!

這些年FORTRAN的使用起起伏伏根悼。在某一階段凶异,差不多所有科學(xué)方面的代碼是用它來寫的。它的優(yōu)點(diǎn)是這門語言中沒有指針挤巡,并且不允許存在遞歸剩彬。這意味著所有數(shù)據(jù)的引用位置都可以在編譯時(shí)確定。FORTRAN編譯器利用這些額外的信息使程序運(yùn)行格外地迅速矿卑。不幸的是喉恋,隨著時(shí)間的推移,固定大小的數(shù)組這種數(shù)據(jù)結(jié)構(gòu)變得過時(shí)了∧竿ⅲ現(xiàn)在轻黑,科學(xué)要處理任意形狀的風(fēng)格,甚至表述更為復(fù)雜的真實(shí)世界琴昆。這需要在語言中額外地加入指針氓鄙。這些情況發(fā)生的時(shí)間段里,F(xiàn)ORTRAN逐漸走向沒落∫瞪幔現(xiàn)在抖拦,它被轉(zhuǎn)移到高性能計(jì)算工作,其中新的并行矩陣和矢量運(yùn)算最近添加到這門語言中舷暮,仍然使它擁有性能優(yōu)勢态罪。
ALGOL語言家族取得了成功。其原因是脚牍,這些語言是由程序員為程序員寫的向臀。隨著時(shí)間的推移,這些與系統(tǒng)和應(yīng)用相關(guān)的語言成為了現(xiàn)在最常用的語言诸狭。它的優(yōu)點(diǎn)是越多地程序員使用券膀,這門語言就能得到更多地改進(jìn)君纫,并且越來越多地程序是用它們來寫就的。這提供了一個(gè)良性循環(huán)芹彬,更多的程序員們又被聘請?jiān)诩壕帉懙某绦蛏瞎ぷ餍钏琛_@是一個(gè)網(wǎng)絡(luò)效應(yīng)的例子。一個(gè)系統(tǒng)的“價(jià)值”是它的用戶數(shù)目的平方舒帮,在于以此速率增長的用戶之間的交互作用会喝。

showme翻譯于 4年前
3人頂

頂 翻譯的不錯哦!

那么為什么Lisp語言家族會站在失敗者一邊呢?有些人認(rèn)為是語法的錯玩郊。Lisp因?yàn)樗睦ㄌ柖裘阎础N也⒉徽J(rèn)為是這個(gè)理由。許多用戶說良好的格式可以讓他們跟上這些括號译红。同時(shí)预茄,Lisp語言被發(fā)明不久后,有一個(gè)叫“super-bracket”的語法可以讓人快速表示出任意數(shù)量的回括號")"侦厚。這個(gè)特性在今天已經(jīng)很少有人使用了耻陕。最后,優(yōu)秀的編輯器解決了大多數(shù)的語法問題刨沦。
另一些人經(jīng)常抱怨Lisp是一門函數(shù)式語言诗宣。這是失敗的理由嗎?自然想诅,跟早期的語言相比召庞,只有Lisp算是函數(shù)式的。但事實(shí)上侧蘸,我認(rèn)為沒有這么簡單裁眯。Lisp也有命令式語言的特性,ALGOL系列語言也可以被當(dāng)作一門純正的函數(shù)式語言來用讳癌。 如果有人想選擇一種特定的編程范式來寫代碼穿稳,一些特定的語言可以讓這個(gè)選擇更容易的實(shí)現(xiàn)。然而晌坤,現(xiàn)代語言已經(jīng)足夠靈活逢艘,它們能支持多種編程范式,近乎完全命令式的Lisp沒有理由不存在骤菠。

crab2313翻譯于 4年前
2人頂

頂 翻譯的不錯哦!

或許lisp的問題在于他使用了垃圾回收它改?在那個(gè)時(shí)候,只有l(wèi)isp作為計(jì)算機(jī)語言采用了這個(gè)特性商乎。誠然央拖,垃圾回收會占用大量的計(jì)算資源,而早期計(jì)算機(jī)在該方面的不足足以組織lisp大展拳腳了。但是鲜戒,我認(rèn)為這仍然不是主要的原因专控。lisp是用來寫那些復(fù)雜度相當(dāng)高的程序的,而這些程序在事實(shí)上都必須帶有一個(gè)垃圾回收模塊遏餐,如果你用其他的語言來寫……大概很難比lisp實(shí)現(xiàn)的要好吧伦腐?眾所周知的事實(shí)是,任何一個(gè)如此復(fù)雜的程序失都,如果用其他語言寫的話都不可避免的戴上一個(gè)比lisp垃圾回收臃腫不少的功能模塊……
lisp的失敗柏蘑,恰恰是因?yàn)樗晒Γ@讓他的目標(biāo)變得模糊粹庞。lisp相對與早期的語言實(shí)在是非常靈活咳焚,靈活到足以改變自身形式以適應(yīng)需求。對于其他的語言來說信粮,如果想要完成一個(gè)龐大的任務(wù)黔攒,就需要把這個(gè)任務(wù)打碎成一小塊一小塊的然后完成。如果是一個(gè)更大的呢强缘?甚至連編譯都需要分步完成了。但是lisp不是這樣的不傅,由于他強(qiáng)大的能力旅掂,程序員可以將lisp改造成特定領(lǐng)域的專門工具——順手的工具將順手的解決問題——任務(wù)輕松完成了。由于語言的正交性(譯者注:這里可能應(yīng)該理解為“自洽”)访娶,我們改造過的lisp仍然可以使用原有的編譯器商虐,解釋器運(yùn)行。

王政翻譯于 4年前
2人頂

頂 翻譯的不錯哦!

那么建立特定領(lǐng)域的語言來作為一個(gè)問題的解決方案崖疤,它會出現(xiàn)什么問題呢秘车?結(jié)果是它非常高效。然而劫哼,這種做法會使語言分化叮趴。這導(dǎo)致許多子語言都略有不同。這是Lisp代碼對其他人而言可讀性差的真正原因权烧。在其他語言中眯亦,相對來說比較簡單就能臆測出一段給定代碼的作用。有著超強(qiáng)的表達(dá)力的Lisp般码,由于一個(gè)給定的符號(symbol)可能是一個(gè)變量妻率,函數(shù)或操作,需要閱讀大量代碼才能找出它板祝。
Lisp失敗的原因是因?yàn)樗乃槠玻⑶宜乃槠且驗(yàn)槠湔Z言天性與特定領(lǐng)域方案的風(fēng)格造成的。而網(wǎng)絡(luò)效應(yīng)則恰恰相反。越來越少的程序員使用相同的方言孤里,因此它相對與ALGOL語言家族的總價(jià)值下降温技。

showme翻譯于 4年前
3人頂

頂 翻譯的不錯哦!

如果有人現(xiàn)在設(shè)計(jì)一種語言,該如何避免這種問題呢扭粱?如果語言的表達(dá)性是我們的目標(biāo)舵鳞,那么它必須以某種方式加以調(diào)整。這門語言必須要有特意的限制琢蛤,來保證所編寫代碼的可讀性蜓堕。Python是一門成功的語言,它已經(jīng)做到了這些博其,其中某些限制是硬編碼的套才,而另一些則是以約定成俗的方式存在。
不幸的是,這么久過去了并且發(fā)明了這么多Lisp的變種語言慕淡,在其之上建立的其它新語言大概并不是所要的答案背伴。根本不會有足夠多的用戶使它與眾不同。也許解決的辦法是峰髓,慢慢加入類似Lisp的語言功能到ALGOL語言家族中傻寂。幸運(yùn)的是,這似乎是正在發(fā)生的事携兵。新的語言(C#疾掰,D,Python等)趨向于擁有垃圾回收機(jī)制徐紧。他們也往往比舊的語言更具正交性静檬。在未來,最終會有行為很像Lisp的一種流行語言并级。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拂檩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子嘲碧,更是在濱河造成了極大的恐慌稻励,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呀潭,死亡現(xiàn)場離奇詭異钉迷,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)钠署,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進(jìn)店門糠聪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谐鼎,你說我怎么就攤上這事舰蟆。” “怎么了?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵身害,是天一觀的道長味悄。 經(jīng)常有香客問我,道長塌鸯,這世上最難降的妖魔是什么侍瑟? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮丙猬,結(jié)果婚禮上涨颜,老公的妹妹穿的比我還像新娘。我一直安慰自己茧球,他們只是感情好庭瑰,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抢埋,像睡著了一般弹灭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上揪垄,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天穷吮,我揣著相機(jī)與錄音,去河邊找鬼福侈。 笑死酒来,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的肪凛。 我是一名探鬼主播,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼辽社,長吁一口氣:“原來是場噩夢啊……” “哼伟墙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起滴铅,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤戳葵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后汉匙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拱烁,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年噩翠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了戏自。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,928評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伤锚,死狀恐怖擅笔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤猛们,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布念脯,位于F島的核電站,受9級特大地震影響弯淘,放射性物質(zhì)發(fā)生泄漏绿店。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一庐橙、第九天 我趴在偏房一處隱蔽的房頂上張望假勿。 院中可真熱鬧,春花似錦怕午、人聲如沸废登。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽堡距。三九已至,卻和暖如春兆蕉,著一層夾襖步出監(jiān)牢的瞬間羽戒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工虎韵, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留易稠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓包蓝,卻偏偏與公主長得像驶社,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子测萎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評論 2 361

推薦閱讀更多精彩內(nèi)容