進入正題,第三章標題是模組化、物件和狀態,其實怎麼覺得這一章是講哲學問題的呢。。。
模組化的意義在於「使這些系統能夠『自然地』劃分為一些具有內聚力的部分,使這些部分可以分別進行開發和維護」;
本章提出了兩種組織模式,一種是物件,一種是流;
物件導向,對於絕大部分人應該是很熟悉的,畢竟用的太多,賦值,環境模型(或者說作用域),可能我們已經覺得是再平常不過的了,作者直到這一章才提出了這些概念,推翻了前兩章的替換模型,用物件來模擬現實世界中的事物及其隨時間的狀態變化,區域性電路的例子非常impressive;
但隨區域性狀態而來的也有很多複雜的問題,例如第四節中提到的併發,併發是現在乙個研究的大方向吧,書中也是講了一些基本的東西,用來展示這種複雜性;
最後一節作者又講述了流模型,類似電路訊號模擬,解決問題的方法十分優美,思路清晰。通過延時求值的方式,或者說按需求值,解決了訊號模擬中的低效率問題;
正如本章最後所說,究竟是以眾多離散的、隨時間變化的物件來模擬世界,還是以統一的、無時間和區域性狀態的流來模擬世界,已經不僅是程式設計的問題了,但是對於習慣了物件導向程式設計模式的我們來說,看到另一種程式設計的模式,嘗試在合適的情況下改變程式設計的方法,還是很重要的;
SICP學習筆記(1 1 4 1 1 5)
sicp學習筆記 1.1.4 1.1.5 周銀輝 書接上一回,這裡是我在學習1.1.4 1.1.5時的一些筆記 1,標準過程與復合過程 以 scheme為例,作為一門語言,其內建了一些原始過程 或稱之為標準的過程 與scheme環境中,比如,實際上與某個內建過程關聯 繫結 了起來,該過程接收兩個引數...
SICP學習筆記(1 1 1 1 1 3)
sicp學習筆記 1.1.1 1.1.3 周銀輝 sicp,即structure and interpretation of computer programs,電腦程式的構造和解釋,是mit 麻省理工學院 一門經典課程,相信很多程式愛好者都讀過,最近我也抽空讀了讀,挺有意思的。算是對大學知識 高數...
SICP學習筆記(一)
一直在斷斷續續地看sicp,確實字字珠璣,今天總算看了前兩章,習題做了一部分,不過日後肯定還是要回頭重看的,現在略微回頭總結一下。1 好的程式語言應提供的三種機制 基本表示式 組合 抽象 實際上我們自己也可以為特定問題制定自己的 語言 是否具有上述能力是這個語言是否強大的關鍵 2 過程作為黑箱的抽象...