-
大小: 2.34MB文件類型: .pdf金幣: 1下載: 0 次發布日期: 2023-09-28
- 語言: 其他
- 標簽:
資源簡介
本版本為高清無水印PDF版,帶標簽可索引,出自麻省理工官方網頁,排版整理成的PDF。內容絕對準確,自學閱讀完全沒有問題。
我為什么推薦 SICP?
向大家推薦 SICP,不知道有多少人看了,也不知道有多少人明白了,更不知道有多少人驚嘆了。或者你根本不屑一顧,或者你看見 Lisp 那層層括號心生畏懼,又或者你了了一瞥,覺得沒什么精彩之處。那我真的很失望。
我為什么要推薦SICP,而且為什么如此執著?這本不算厚的書帶給我的觀念,是從未有過的,是關乎于軟件本質的。曾幾何時,我覺得我看到了計算機編程書中沒有的哲學觀,但這一次我的夢破滅了,那些已經被寫進書里差不多快 30 年了。
對于 SICP,我真正算看完的,恐怕只有第一章。我現在就來談談我的心得,以再次向你展現這本書的魔力。
第一章作為基礎,作者并沒有象后續章節寫太多的軟件思想,主要還是介紹 Scheme 語言,所以草草看去,沒什么精辟之處。不過在第一章中,作者用了大量的篇幅來探討數學問題,因為他想向你揭示程序設計中的核心哲學:抽象。而數學無疑是最好的例子。
了解數學史的人,應該知道整個數學史,就是一個不斷抽象的歷史。古希臘人將字母引入計算,使數學不再只是算術,而且具有表達抽象規則的能力。近代數學對函數和微積分的探求中,用 f(x) 替代了多項式表達式,函數更一般了,然后 n 維空間、復分析、映射、泛函,抽象代數、群論,等等等等,直到集合論,摧毀了數學的基石,使數學界再次陷入沉思。
構造程序的方法也是抽象。從最簡單的元素開始,基本元素(自演算表達式,包括數字,字符串和布爾值),然后定義基本過程(基本運算符,四則運算和布爾運算),進一步,自定義標識符(如同代數),再自定義過程(函數),再將過程作為值參與運算(高階過程)。一步步的抽象,形成了整個程序的結構。而我們編程,無非就是從現實世界抽象出模型,再將模型不斷的提煉抽象,屬性、方法、類、繼承、層次、框架。
編程就是一個不斷抽象的過程。我再次把作者在第一章末寫下的結論抄在這里,作為最后的注腳。
代碼片段和文件信息
- 上一篇:數據挖掘--R語言--口紅銷量分析
- 下一篇:Comsol軟件電池與燃料電池模塊簡介
評論
共有 條評論