電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>C語(yǔ)言|源代碼>On Common Lisp高級(jí)編程技術(shù)PDF中文版電子書(shū)免費(fèi)下載

On Common Lisp高級(jí)編程技術(shù)PDF中文版電子書(shū)免費(fèi)下載

2019-12-16 | pdf | 2.31 MB | 次下載 | 1積分

資料介紹

  本書(shū)適用于那些想更上一層樓的 Lisp 程序員。書(shū)中假設(shè)讀者已經(jīng)初步了解 Lisp,但不要求有豐富的編程經(jīng)驗(yàn)。最初幾章里會(huì)重溫很多基礎(chǔ)知識(shí)。我希望這些章節(jié)也會(huì)讓有經(jīng)驗(yàn)的 Lisp 程序員感興趣,因?yàn)樗鼈円詬湫碌囊暯钦故玖耸熘闹黝}。通常很難一語(yǔ)道清一門(mén)編程語(yǔ)言的精髓,但 John Foderato 的話已經(jīng)很貼切了: ? Lisp 是一門(mén)可編程的編程語(yǔ)言。(Lisp is a programmable programming language.) 這難免以偏概全,但這種讓 Lisp 隨心而變的能力,在很大程度上正是 Lisp 專(zhuān)家和新手的不同之處。在自上而下,把程序逐漸具體化,用編程語(yǔ)言實(shí)現(xiàn)設(shè)計(jì)的同時(shí),資深的 Lisp 程序員也實(shí)踐著自底向上的方法,他們通過(guò)創(chuàng)建語(yǔ)言來(lái)描述程序的行為。本書(shū)教授自底向上編寫(xiě)程序的方法,因?yàn)檫@是 Lisp 與生俱來(lái)的強(qiáng)項(xiàng)。

?

  隨著軟件復(fù)雜度的增長(zhǎng),自底向上設(shè)計(jì)的重要性也日益提高。今天的程序可能不得不面對(duì)極其復(fù)雜甚至開(kāi)放式的需求。在這種情況下,傳統(tǒng)的自上而下方法有時(shí)會(huì)失效。一種新的編程風(fēng)格應(yīng)運(yùn)而生,它和當(dāng)前大部分計(jì)算機(jī)科學(xué)課程的思路截然不同: 一個(gè)自底向上的程序由一系列的層寫(xiě)成,每一層都作為更高一層的編程語(yǔ)言。X Window 和 TEX 就是這種程序設(shè)計(jì)風(fēng)格的典范。本書(shū)有兩層主題: 首先,對(duì)以自底向上的方法編制的程序來(lái)說(shuō),Lisp 語(yǔ)言是不二之選,反過(guò)來(lái),編寫(xiě) Lisp 程序的話,采用自底向上的編程風(fēng)格也是理所當(dāng)然的。因此《On Lisp》將吸引兩類(lèi)讀者。對(duì)于那些有興趣編寫(xiě)可擴(kuò)展程序的人,本書(shū)將告訴你如果有了合適的語(yǔ)言,你能做些什么。對(duì)于 Lisp 程序員來(lái)說(shuō),本書(shū)提供了第一手的實(shí)踐指南,指引他們把 Lisp 的優(yōu)勢(shì)發(fā)揮到極致。本書(shū)選用現(xiàn)在的這個(gè)書(shū)名是為了強(qiáng)調(diào)自底向上編程對(duì)于 Lisp 的重要性。你不再僅僅是用 Lisp 編寫(xiě)程序,在 Lisp 之上 (On Lisp),你可以構(gòu)造自己的語(yǔ)言,然后再用這個(gè)語(yǔ)言來(lái)寫(xiě)程序。盡管用任何語(yǔ)言都可以寫(xiě)出自底向上風(fēng)格的程序,但 Lisp 對(duì)于這種編程風(fēng)格來(lái)說(shuō)是最自然的載體。在 Lisp 里,自底向上的設(shè)計(jì)并不是那種僅為少見(jiàn)的大型程序或者高難程序服務(wù)的專(zhuān)門(mén)技術(shù)。任何規(guī)模的程序都可以在一定程度上以這種方式編寫(xiě)。Lisp 從一開(kāi)始就被設(shè)計(jì)成可擴(kuò)展的語(yǔ)言。這種語(yǔ)言本身基本上就是一個(gè) Lisp 函數(shù)的集合,這些函數(shù)和你自己定義的沒(méi)有本質(zhì)區(qū)別。更進(jìn)一步,Lisp 函數(shù)可以表達(dá)成列表,而列表同時(shí)也是 Lisp 的數(shù)據(jù)結(jié)構(gòu)。這就意味著你可以寫(xiě)出能生成 Lisp 代碼的 Lisp 函數(shù)。一個(gè)好的 Lisp 程序員必須懂得如何利用上述這種可能性。通常的途徑是定義一種稱(chēng)為宏的操作符。駕馭宏是從編寫(xiě)正確的 Lisp 程序走向編寫(xiě)漂亮的程序過(guò)程中最重要的一步。入門(mén)級(jí) Lisp 書(shū)籍給宏留下的篇幅僅限于一個(gè)宏的簡(jiǎn)短的概述: 解釋一下宏是什么,加上幾個(gè)例子蜻蜓點(diǎn)水地提一下,說(shuō)能用它實(shí)現(xiàn)一些奇妙的東西。不過(guò)本書(shū)會(huì)給予這些奇妙的東西特別的重視。這里的目標(biāo)之一就是把所有關(guān)于宏的知識(shí)作一次總結(jié),在以往,人們只能從使用宏的經(jīng)驗(yàn)和教訓(xùn)中來(lái)吸取這些知識(shí)。一般來(lái)說(shuō),Lisp 的入門(mén)讀物都不會(huì)強(qiáng)調(diào) Lisp 和其他語(yǔ)言的區(qū)別,這情有可原。它們必須想辦法把知識(shí)傳授給那些被教育成只會(huì)用 Pascal 術(shù)語(yǔ)來(lái)構(gòu)思程序的學(xué)生。如果非要細(xì)究這些區(qū)別的話,只會(huì)把問(wèn)題復(fù)雜化: 例如 defun 雖然看起來(lái)像一個(gè)過(guò)程定義,但實(shí)際上,它是一個(gè)編寫(xiě)程序的程序,這個(gè)程序生成了一段代碼,而這段代碼新建了一個(gè)函數(shù)對(duì)象,然后用函數(shù)定義時(shí)給出的第一個(gè)參數(shù)作為這個(gè)函數(shù)對(duì)象的索引。本書(shū)的目的之一就是解釋究竟是什么使 Lisp 不同于其他語(yǔ)言。剛落筆時(shí),我心里明白,同等條件下自己會(huì)更傾向于用 Lisp 而不是 C、Pascal 或 Fortran 來(lái)寫(xiě)程序。我也知道這不只是個(gè)人好惡的問(wèn)題。但當(dāng)意識(shí)到就要鄭重其事地告訴大家 Lisp 語(yǔ)言在某些方面更優(yōu)秀時(shí),我發(fā)現(xiàn)應(yīng)該做好準(zhǔn)備,說(shuō)說(shuō)到底為什么。曾有人問(wèn) Louis Armstrong 什么是爵士樂(lè),他答道 “如果你問(wèn)爵士樂(lè)是什么,那你永遠(yuǎn)不會(huì)知道。” 但他確實(shí)以一種方式回答了這個(gè)問(wèn)題:他向世人展示了什么是爵士樂(lè)。同樣也只有一種方式來(lái)解釋 Lisp 的威力,就是演示那些對(duì)于其他語(yǔ)言來(lái)說(shuō)極其困難甚至不可能實(shí)現(xiàn)的技術(shù)。多數(shù)關(guān)于編程的書(shū)籍,包括 Lisp 編程書(shū)籍,采用的都是那些你可以用任何其它語(yǔ)言編寫(xiě)的程序?!禣n Lisp》涉及的多是那些只能用 Lisp 寫(xiě)的程序??蓴U(kuò)展性,自底向上程序設(shè)計(jì),交互式開(kāi)發(fā),源代碼轉(zhuǎn)換,嵌入式語(yǔ)言 這些都是 Lisp 展示其高級(jí)特性的舞臺(tái)。當(dāng)然從理論上講,任意圖靈等價(jià)的編程語(yǔ)言能做的事,其它任何語(yǔ)言都可以做到。但這種能力和編程語(yǔ)言的能力卻完全是兩碼事。理論上,任何你能用編程語(yǔ)言做到的事,也可以用圖靈機(jī)來(lái)做,但實(shí)際上在圖靈機(jī)上編程得不償失。所以,當(dāng)我說(shuō)這本書(shū)是關(guān)于如何做那些其他語(yǔ)言力所不及的事情的時(shí)候,我并非指數(shù)學(xué)意義上的 “不可能”,而是從編程語(yǔ)言的角度出發(fā)的。這就是說(shuō),如果你不得不用 C 來(lái)寫(xiě)本書(shū)中的一些程序,你可能需要先用 C 寫(xiě)一個(gè) Lisp 編譯器。舉個(gè)例子,在 C 語(yǔ)言里嵌入 Prolog 你能想象這需要多少工作量嗎? 第 24 章將說(shuō)明如何用 180 行 Lisp 做到這一點(diǎn)。盡管我希望能比單單演示 Lisp 的強(qiáng)大之處做得更多。我也想解釋為何 Lisp 與眾不同。這是一個(gè)更微妙的問(wèn)題,這個(gè)問(wèn)題是那么難回答,它無(wú)法使用諸如 “符號(hào)計(jì)算” 這樣的術(shù)語(yǔ)來(lái)搪塞。我將盡我所學(xué),盡可能清楚明白地解釋這些問(wèn)題。
?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1FS4059C帶NTC升壓型三節(jié)鋰電池充電管理IC數(shù)據(jù)手冊(cè)
  2. 3.53 MB   |  3次下載  |  免費(fèi)
  3. 216位數(shù)字輸出型環(huán)境光強(qiáng)度傳感器集成電路bh1750FVI中文數(shù)據(jù)手冊(cè)
  4. 2.67 MB   |  1次下載  |  免費(fèi)
  5. 3MCx8316x 在掃地機(jī)器人中的應(yīng)用
  6. 1.34MB   |  1次下載  |  免費(fèi)
  7. 4掃地機(jī)器人中的霍爾效應(yīng)傳感器應(yīng)用說(shuō)明
  8. 666.09KB   |  1次下載  |  免費(fèi)
  9. 5如何調(diào)整模擬前端信號(hào)鏈的 S 參數(shù)
  10. 794.19KB   |  1次下載  |  免費(fèi)
  11. 6FS4059B帶NTC升壓型兩節(jié)鋰電池充電管理IC數(shù)據(jù)手冊(cè)
  12. 3.24 MB   |  1次下載  |  免費(fèi)
  13. 7基于波形捕獲的超聲波傳感水流量計(jì)量技術(shù)應(yīng)用說(shuō)明
  14. 1.01MB   |  1次下載  |  免費(fèi)
  15. 8使用邏輯和翻譯優(yōu)化車(chē)身控制模塊(BCM)應(yīng)用說(shuō)明
  16. 344.53KB   |  次下載  |  免費(fèi)

本月

  1. 1HFSS電磁仿真設(shè)計(jì)應(yīng)用詳解PDF電子教程免費(fèi)下載
  2. 24.30 MB   |  129次下載  |  1 積分
  3. 2繼電保護(hù)原理
  4. 2.80 MB   |  40次下載  |  免費(fèi)
  5. 3正激、反激、推挽、全橋、半橋區(qū)別和特點(diǎn)
  6. 0.91 MB   |  34次下載  |  1 積分
  7. 4labview實(shí)現(xiàn)DBC在界面加載配置
  8. 0.57 MB   |  24次下載  |  5 積分
  9. 5在設(shè)計(jì)中使用MOSFET瞬態(tài)熱阻抗曲線
  10. 1.57MB   |  15次下載  |  免費(fèi)
  11. 6GBT 4706.1-2024家用和類(lèi)似用途電器的安全第1部分:通用要求
  12. 7.43 MB   |  14次下載  |  免費(fèi)
  13. 7AD18學(xué)習(xí)筆記
  14. 14.47 MB   |  8次下載  |  2 積分
  15. 8H橋中的電流感測(cè)
  16. 545.39KB   |  7次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935113次下載  |  10 積分
  3. 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191360次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183329次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81578次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73804次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分