强奸久久久久久久|草草浮力在线影院|手机成人无码av|亚洲精品狼友视频|国产国模精品一区|久久成人中文字幕|超碰在线视屏免费|玖玖欧洲一区二区|欧美精品无码一区|日韩无遮一区二区

首頁 > 資訊 > 知識 > lisp語言,LISt Processor的官網(wǎng)即LISP 編程語言

lisp語言,LISt Processor的官網(wǎng)即LISP 編程語言

來源:整理 時(shí)間:2023-08-22 17:06:15 編輯:智能門戶 手機(jī)版

本文目錄一覽

1,LISt Processor的官網(wǎng)即LISP 編程語言

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ananaanaknsandsnjnf

LISt Processor的官網(wǎng)即LISP 編程語言

2,Lisp相比其它語言有什么優(yōu)勢和劣勢

vlisp是alisp的一個(gè)加強(qiáng)版。 在cad中的lisp語言來,就是運(yùn)用的lisp的語法格式,對于自vlisp中的函數(shù)具有專一性,主要用于cad的二次知開發(fā)。 沒有版本之分?;旧蠈懙赖某绦蚩梢杂糜赾ad2002-2016都可以
1.原型函數(shù)的使用,進(jìn)行函數(shù)類型,參數(shù)個(gè)數(shù)、類型,返回值等的數(shù)據(jù)檢測機(jī)制,體現(xiàn)了一定的嚴(yán)密性 2.指針的使用,突破了c語言里大部分的調(diào)用是值調(diào)用,而不能更改數(shù)據(jù)的問題;使得通過傳遞指針參數(shù),不用建立參數(shù)副本,從而減少系統(tǒng)消耗的問題 3.c語言里的大部分?jǐn)?shù)據(jù)結(jié)構(gòu)(如數(shù)組,鏈表,堆棧,隊(duì)列等)都是從指針中演變而來的; 4.動態(tài)內(nèi)存分配,更是c語言里一大特色 不足: 1.字符串的使用比較麻煩,必須聲明為char的數(shù)組,這點(diǎn)還是很不方便的 2.還有scanf,printf中的格式控制符感覺也比較麻煩點(diǎn),輸入輸出必須先聲明格式

Lisp相比其它語言有什么優(yōu)勢和劣勢

3,都有什么人用lisp

lisp是一門反人類的語言,有兩個(gè)特征,函數(shù)式編程,和它是一門面向語言的語言 關(guān)于第一個(gè)特征: 沒有賦值,狀態(tài)變量不能保存,只能通過不停調(diào)用函數(shù)地運(yùn)作,強(qiáng)制要你進(jìn)行遞歸性的思考,由此而衍生出非常抽象的概念和晦澀的技巧,如以函數(shù)作為算子運(yùn)算出函數(shù)的函數(shù),堪稱計(jì)算機(jī)領(lǐng)域的泛函語言,由于在思維上與數(shù)學(xué)有天然的契合度,lisp適合于類型推演等理論方向。 關(guān)于第二個(gè)特征: lisp即list processing,表處理語言,對于數(shù)據(jù)和代碼都只采用同一種結(jié)構(gòu)來表示,這意味著lisp可以很優(yōu)雅地將它的代碼當(dāng)作數(shù)據(jù)來處理。。。是的,在lisp里面,數(shù)據(jù)跟代碼的界限是非常模糊。所以lisp是可以生成代碼的語言,你完全可以利用lisp發(fā)明出屬于你自己的特定語言,此所謂面向語言的語言。。。 什么人在用: 基于上述兩點(diǎn),你可以知道lisp非常難學(xué),也非常難用。那么誰在用呢?有四類人: 學(xué)生。SICP聽過吧?全球知名課程,這類人基本是閑的無聊,用用lisp來折磨折磨自己的大腦,感受感受這種當(dāng)今世界中最接近神的宗教式的語言Geek。這類人癡迷一切小眾裝13的技術(shù),lisp自然成為喜歡泡在代碼堆里的他們飯后閑暇的談資,睡前冥想的材料,周末消遣的玩意; 此外,Geek也是希望通過lisp找到一條通往天堂的路計(jì)算機(jī)科學(xué)家。這類人喜歡思考,尤喜那些錯(cuò)綜復(fù)雜、撲所迷離的概念,抽象復(fù)雜卻又大道至簡的lisp自然正合其意,也是順便找個(gè)可以發(fā)paper升職加薪的方向凡人。lisp有很多方言,所謂方言,即lisp的變種。如Autolisp,用在制圖領(lǐng)域;Elisp,用在配置編輯器emacs。這里面有不少偽用戶(當(dāng)然elisp高手除外),他們只是工作的需要而泛泛一用,對lisp的本質(zhì)和方法未做深思,也談不上了解

都有什么人用lisp

4,對于一個(gè)大一新生學(xué)lisp語言有用么

這種易學(xué)易用的編程工具值得學(xué)習(xí)。一、如果我們把流行的編程語言,以這樣的順序排列:Java、Perl、Python、Ruby。你會發(fā)現(xiàn),排在越后面的語言,越像Lisp。Python模仿Lisp,甚至把許多Lisp黑客認(rèn)為屬于設(shè)計(jì)錯(cuò)誤的功能,也一起模仿了。至于Ruby,如果回到1975年,你聲稱它是一種Lisp方言,沒有人會反對。編程語言現(xiàn)在的發(fā)展,不過剛剛趕上1958年Lisp語言的水平。二、1958年,John McCarthy設(shè)計(jì)了Lisp語言。我認(rèn)為,當(dāng)前最新潮的編程語言,只是實(shí)現(xiàn)了他在1958年的設(shè)想而已。這怎么可能呢?計(jì)算機(jī)技術(shù)的發(fā)展,不是日新月異嗎?1958年的技術(shù),怎么可能超過今天的水平呢?讓我告訴你原因。這是因?yàn)镴ohn McCarthy本來沒打算把Lisp設(shè)計(jì)成編程語言,至少不是我們現(xiàn)在意義上的編程語言。他的原意只是想做一種理論演算,用更簡潔的方式定義圖靈機(jī)。所以,為什么上個(gè)世紀(jì)50年代的編程語言,到現(xiàn)在還沒有過時(shí)?簡單說,因?yàn)檫@種語言本質(zhì)上不是一種技術(shù),而是數(shù)學(xué)。數(shù)學(xué)是不會過時(shí)的。你不 應(yīng)該把Lisp語言與50年代的硬件聯(lián)系在一起,而是應(yīng)該把它與快速排序(Quicksort)算法進(jìn)行類比。這種算法是1960年提出的,至今仍然是最 快的通用排序方法。三、Fortran語言也是上個(gè)世紀(jì)50年代出現(xiàn)的,并且一直使用至今。它代表了語言設(shè)計(jì)的一種完全不同的方向。Lisp是無意中從純理論發(fā)展 為編程語言,而Fortran從一開始就是作為編程語言設(shè)計(jì)出來的。但是,今天我們把Lisp看成高級語言,而把Fortran看成一種相當(dāng)?shù)蛯哟蔚恼Z 言。1956年,F(xiàn)ortran剛誕生的時(shí)候,叫做Fortran I,與今天的Fortran語言差別極大。Fortran I實(shí)際上是匯編語言加上數(shù)學(xué),在某些方面,還不如今天的匯編語言強(qiáng)大。比如,它不支持子程序,只有分支跳轉(zhuǎn)結(jié)構(gòu)(branch)。Lisp和Fortran代表了編程語言發(fā)展的兩大方向。前者的基礎(chǔ)是數(shù)學(xué),后者的基礎(chǔ)是硬件架構(gòu)。從那時(shí)起,這兩大方向一直在互相靠攏。 Lisp剛設(shè)計(jì)出來的時(shí)候,就很強(qiáng)大,接下來的二十年,它提高了自己的運(yùn)行速度。而那些所謂的主流語言,把更快的運(yùn)行速度作為設(shè)計(jì)的出發(fā)點(diǎn),然后再用超過 四十年的時(shí)間,一步步變得更強(qiáng)大。直到今天,最高級的主流語言,也只是剛剛接近Lisp的水平。雖然已經(jīng)很接近了,但還是沒有Lisp那樣強(qiáng)大。四、Lisp語言誕生的時(shí)候,就包含了9種新思想。其中一些我們今天已經(jīng)習(xí)以為常,另一些則剛剛在其他高級語言中出現(xiàn),至今還有2種是Lisp獨(dú)有的。按照被大眾接受的程度,這9種思想依次是:1. 條件結(jié)構(gòu)(即"if-then-else"結(jié)構(gòu))?,F(xiàn)在大家都覺得這是理所當(dāng)然的,但是Fortran I就沒有這個(gè)結(jié)構(gòu),它只有基于底層機(jī)器指令的goto結(jié)構(gòu)。2. 函數(shù)也是一種數(shù)據(jù)類型。在Lisp語言中,函數(shù)與整數(shù)或字符串一樣,也屬于數(shù)據(jù)類型的一種。它有自己的字面表示形式(literal representation),能夠儲存在變量中,也能當(dāng)作參數(shù)傳遞。一種數(shù)據(jù)類型應(yīng)該有的功能,它都有。3. 遞歸。Lisp是第一種支持遞歸函數(shù)的高級語言。4. 變量的動態(tài)類型。在Lisp語言中,所有變量實(shí)際上都是指針,所指向的值有類型之分,而變量本身沒有。復(fù)制變量就相當(dāng)于復(fù)制指針,而不是復(fù)制它們指向的數(shù)據(jù)。5. 垃圾回收機(jī)制。6. 程序由表達(dá)式(expression)組成。Lisp程序是一些表達(dá)式區(qū)塊的集合,每個(gè)表達(dá)式都返回一個(gè)值。這與Fortran和大多數(shù)后來的語言都截然不同,它們的程序由表達(dá)式和語句(statement)組成。區(qū)分表達(dá)式和語句,在Fortran I中是很自然的,因?yàn)樗恢С终Z句嵌套。所以,如果你需要用數(shù)學(xué)式子計(jì)算一個(gè)值,那就只有用表達(dá)式返回這個(gè)值,沒有其他語法結(jié)構(gòu)可用,因?yàn)榉駝t就無法處理這個(gè)值。后來,新的編程語言支持區(qū)塊結(jié)構(gòu)(block),這種限制當(dāng)然也就不存在了。但是為時(shí)已晚,表達(dá)式和語句的區(qū)分已經(jīng)根深蒂固。它從Fortran擴(kuò)散到Algol語言,接著又?jǐn)U散到它們兩者的后繼語言。7. 符號(symbol)類型。符號實(shí)際上是一種指針,指向儲存在哈希表中的字符串。所以,比較兩個(gè)符號是否相等,只要看它們的指針是否一樣就行了,不用逐個(gè)字符地比較。8. 代碼使用符號和常量組成的樹形表示法(notation)。9. 無論什么時(shí)候,整個(gè)語言都是可用的。Lisp并不真正區(qū)分讀取期、編譯期和運(yùn)行期。你可以在讀取期編譯或運(yùn)行代碼;也可以在編譯期讀取或運(yùn)行代碼;還可以在運(yùn)行期讀取或者編譯代碼。在讀取期運(yùn)行代碼,使得用戶可以重新調(diào)整(reprogram)Lisp的語法;在編譯期運(yùn)行代碼,則是Lisp宏的工作基礎(chǔ);在運(yùn)行期編 譯代碼,使得Lisp可以在Emacs這樣的程序中,充當(dāng)擴(kuò)展語言(extension language);在運(yùn)行期讀取代碼,使得程序之間可以用S-表達(dá)式(S-expression)通信,近來XML格式的出現(xiàn)使得這個(gè)概念被重新"發(fā) 明"出來了。五、Lisp語言剛出現(xiàn)的時(shí)候,它的思想與其他編程語言大相徑庭。后者的設(shè)計(jì)思想主要由50年代后期的硬件決定。隨著時(shí)間流逝,流行的編程語言不斷更新?lián)Q代,語言設(shè)計(jì)思想逐漸向Lisp靠攏。思想1到思想5已經(jīng)被廣泛接受,思想6開始在主流編程語言中出現(xiàn),思想7在Python語言中有所實(shí)現(xiàn),不過似乎沒有專用的語法。思想8可能是最有意思的一點(diǎn)。它與思想9只是由于偶然原因,才成為Lisp語言的一部分,因?yàn)樗鼈儾粚儆贘ohn McCarthy的原始構(gòu)想,是由他的學(xué)生Steve Russell自行添加的。它們從此使得Lisp看上去很古怪,但也成為了這種語言最獨(dú)一無二的特點(diǎn)。Lisp古怪的形式,倒不是因?yàn)樗恼Z法很古怪,而 是因?yàn)樗緵]有語法,程序直接以解析樹(parse tree)的形式表達(dá)出來。在其他語言中,這種形式只是經(jīng)過解析在后臺產(chǎn)生,但是Lisp直接采用它作為表達(dá)形式。它由列表構(gòu)成,而列表則是Lisp的基 本數(shù)據(jù)結(jié)構(gòu)。用一門語言自己的數(shù)據(jù)結(jié)構(gòu)來表達(dá)該語言,這被證明是非常強(qiáng)大的功能。思想8和思想9,意味著你可以寫出一種能夠自己編程的程序。這可能聽起來很怪異,但是對于Lisp語言卻是再普通不過。最常用的做法就是使用宏。術(shù)語"宏"在Lisp語言中,與其他語言中的意思不一樣。Lisp宏無所不包,它既可能是某樣表達(dá)式的縮略形式,也可能是一種新語言的編譯器。如果你想真正地理解Lisp語言,或者想拓寬你的編程視野,那么你必須學(xué)習(xí)宏。就我所知,宏(采用Lisp語言的定義)目前仍然是Lisp獨(dú)有的。一個(gè)原因是為了使用宏,你大概不得不讓你的語言看上去像Lisp一樣古 怪。另一個(gè)可能的原因是,如果你想為自己的語言添上這種終極武器,你從此就不能聲稱自己發(fā)明了新語言,只能說發(fā)明了一種Lisp的新方言。我把這件事當(dāng)作笑話說出來,但是事實(shí)就是如此。如果你創(chuàng)造了一種新語言,其中有car、cdr、cons、quote、cond、 atom、eq這樣的功能,還有一種把函數(shù)寫成列表的表示方法,那么在它們的基礎(chǔ)上,你完全可以推導(dǎo)出Lisp語言的所有其他部分。事實(shí)上,Lisp語言 就是這樣定義的,John McCarthy把語言設(shè)計(jì)成這個(gè)樣子,就是為了讓這種推導(dǎo)成為可能。六、就算Lisp確實(shí)代表了目前主流編程語言不斷靠近的一個(gè)方向,這是否意味著你就應(yīng)該用它編程呢?如果使用一種不那么強(qiáng)大的語言,你又會有多少損失呢?有時(shí)不采用最尖端的技術(shù),不也是一種明智的選擇嗎?這么多人使用主流編程語言,這本身不也說明那些語言有可取之處嗎?另一方面,選擇哪一種編程語言,許多項(xiàng)目是無所謂的,反正不同的語言都能完成工作。一般來說,條件越苛刻的項(xiàng)目,強(qiáng)大的編程語言就越能發(fā)揮 作用。但是,無數(shù)的項(xiàng)目根本沒有苛刻條件的限制。大多數(shù)的編程任務(wù),可能只要寫一些很小的程序,然后用膠水語言把這些小程序連起來就行了。你可以用自己熟 悉的編程語言,或者用對于特定項(xiàng)目來說有著最強(qiáng)大函數(shù)庫的語言,來寫這些小程序。如果你只是需要在Windows應(yīng)用程序之間傳遞數(shù)據(jù),使用Visual Basic照樣能達(dá)到目的。那么,Lisp的編程優(yōu)勢體現(xiàn)在哪里呢?七、語言的編程能力越強(qiáng)大,寫出來的程序就越短(當(dāng)然不是指字符數(shù)量,而是指獨(dú)立的語法單位)。代碼的數(shù)量很重要,因?yàn)殚_發(fā)一個(gè)程序耗費(fèi)的時(shí)間,主要取決于程序的長度。如果同一個(gè)軟件,一種語言寫出來的代碼比另一種語言長三倍,這意味 著你開發(fā)它耗費(fèi)的時(shí)間也會多三倍。而且即使你多雇傭人手,也無助于減少開發(fā)時(shí)間,因?yàn)楫?dāng)團(tuán)隊(duì)規(guī)模超過某個(gè)門檻時(shí),再增加人手只會帶來凈損失。Fred Brooks在他的名著《人月神話》(The Mythical Man-Month)中,描述了這種現(xiàn)象,我的所見所聞印證了他的說法。如果使用Lisp語言,能讓程序變得多短?以Lisp和C的比較為例,我聽到的大多數(shù)說法是C代碼的長度是Lisp的7倍到10倍。但是最 近,New Architect雜志上有一篇介紹ITA軟件公司的文章,里面說"一行Lisp代碼相當(dāng)于20行C代碼",因?yàn)榇宋亩际且肐TA總裁的話,所以我想這 個(gè)數(shù)字來自ITA的編程實(shí)踐。 如果真是這樣,那么我們可以相信這句話。ITA的軟件,不僅使用Lisp語言,還同時(shí)大量使用C和C++,所以這是他們的經(jīng)驗(yàn)談。根據(jù)上面的這個(gè)數(shù)字,如果你與ITA競爭,而且你使用C語言開發(fā)軟件,那么ITA的開發(fā)速度將比你快20倍。如果你需要一年時(shí)間實(shí)現(xiàn)某個(gè)功能,它只需要不到三星期。反過來說,如果某個(gè)新功能,它開發(fā)了三個(gè)月,那么你需要五年才能做出來。
文章TAG:lisp語言LIStProcessor的官網(wǎng)即LISP編程語言

最近更新

  • 電容原理,電容的工作原理是怎樣的電容原理,電容的工作原理是怎樣的

    電容的工作原理是怎樣的2,電容的工作原理是什么3,電容的工作原理4,電容的基本原理及構(gòu)造5,電容的原理及作用6,電容是什么成份原理工作起動電容各有什么作用1,電容的工作原理是怎樣的百度一下.....

    知識 日期:2023-08-22

  • 交換的目的,操作系統(tǒng)中交換技術(shù)可以帶來哪些好處交換的目的,操作系統(tǒng)中交換技術(shù)可以帶來哪些好處

    操作系統(tǒng)中交換技術(shù)可以帶來哪些好處2,舉個(gè)例子什么叫互換交易互換交易的目的是什么3,計(jì)算機(jī)網(wǎng)絡(luò)通訊中數(shù)據(jù)交換的目的4,貨幣互換有什么作用5,為什么交換機(jī)要進(jìn)行交換6,交換機(jī)的作用是什么.....

    知識 日期:2023-08-22

  • 照度計(jì)算,照度計(jì)算具體要怎么計(jì)算需要哪些參數(shù)照度計(jì)算,照度計(jì)算具體要怎么計(jì)算需要哪些參數(shù)

    照度計(jì)算具體要怎么計(jì)算需要哪些參數(shù)2,平均照度計(jì)算方法到底有幾種路燈和室內(nèi)利用系數(shù)各怎么取3,光通量如何換算為光照度啊4,光照度怎么計(jì)算5,照度的計(jì)算方法6,照度計(jì)算問題1,照度計(jì)算具體要.....

    知識 日期:2023-08-22

  • sdi,水處理中所講的SDI 是什么東西sdi,水處理中所講的SDI 是什么東西

    水處理中所講的SDI是什么東西2,sdi是什么意思3,在水處理工藝中SDI是什么4,捷達(dá)后面的SDI是什么5,什么是SDI6,電纜中的SDI是什么意思1,水處理中所講的SDI是什么東西污染密度指數(shù),SDI值是表征反.....

    知識 日期:2023-08-22

  • gpu和cpu,什么是GPU和CPUgpu和cpu,什么是GPU和CPU

    什么是GPU和CPU2,GPU和CPU有何區(qū)別呀3,CPU和GPU的區(qū)別是什么4,cpu和gpu有什么分別5,CPU和GPU是合在一起的還是還是分開的6,cpu和gpu什么區(qū)別1,什么是GPU和CPU一個(gè)是中央處理單元,一個(gè)是顯示單.....

    知識 日期:2023-08-22

  • 地線的作用,有人問我地線的作用怎么專業(yè)的回答地線的作用,有人問我地線的作用怎么專業(yè)的回答

    有人問我地線的作用怎么專業(yè)的回答2,家庭裝修電路中的地線有什么作用3,電力線路裝設(shè)地線有哪些必要性4,在接電中相線火線零線地線各是什么意思各有什么用5,地線有什么作用6,什么是地線的作.....

    知識 日期:2023-08-22

  • 芯片分類,電腦芯片怎么分類芯片分類,電腦芯片怎么分類

    電腦芯片怎么分類2,電腦芯片有幾種名稱3,965芯片的分類4,常見的集成電路芯片有哪些5,請問主板芯片都有什么類型6,ic集成電路可分哪幾類1,電腦芯片怎么分類是廠家自己定的2,電腦芯片有幾種名稱.....

    知識 日期:2023-08-22

  • hdr是什么功能,小米手機(jī)相機(jī)HDR模式是什么意思hdr是什么功能,小米手機(jī)相機(jī)HDR模式是什么意思

    小米手機(jī)相機(jī)HDR模式是什么意思2,照相HDR什么意思都是有什么功能3,hdr模式是什么4,HDR功能是什么5,HDR功能是什么意思6,hdr是什么1,小米手機(jī)相機(jī)HDR模式是什么意思您好,所謂HDR,是英文High-D.....

    知識 日期:2023-08-22