數學家們用奇怪的符號組成美妙的式子來表達具有深刻邏輯性的思想。
工程師們不但有從數學家那裡繼承來的嚴謹形式化體系,他們還有……呃,null
和指標!
圖靈機和λ-演算,前者在馮·諾依曼體系的補充下顯得更加地「工程」,相較之下後者卻更加地「數學」。作為兩種模型體現,c語言和scheme(lisp)完全就像是兩種極端:[乙個是紅外線,而另乙個是紫外線] 1。
那些說c語言的人,他們甚至能經常看到新鮮的二進位制位。你總是會看見他們拿著大刀在這些位元上砍砍削削!可是他們的大刀又太鋒利,稍有不慎坎壞了那些位元不說,還經常弄傷自己。
而那些滿嘴lisp方言的人,他們似乎住在乙個聳立天際的高塔中。他們會建立各種各樣的抽象層,將一些底層的思想給隔離開來。呵,這又是如此的巧妙!那些住在塔頂層的人們,似乎還沒發覺這座塔是由他們之中那些能工巧匠「憑空」建造的!
換個角度來說,scheme(lisp)遠比c語言要親和資料結構:廣義表(s-表示式)已經作為scheme(lisp)的語法基石深深地奠基在語言核心中,通過使用cons
,我們可以將原子構建成表,甚至可以將原子和表組成新錶!我們將看到……由於圖靈等價的論斷,凡是c語言能描述的資料結構,scheme(lisp)都能夠模擬!
我們的雄心,並非需要malloc()
才能開闢。保持一顆對數學虔誠探索的心,一種對工程謹嚴思辨的精神,我們將開始用遠古的咒語來頌唱不太久遠的詩篇。並謹以此獻給那些住在計算機內的神靈們!
計算機內的進化
計算機內的進化 遺傳演算法的工作過程實質是模擬生物進行過程。首先,應確定一種編碼方法,使得你的問題的任何乙個潛在可行解都能表示成乙個 數字 染色體。然後,建立乙個由隨機的染色體組成的初始群體,並在一段時期中,以培育適應性最強的個體的方法,讓它們進化。在此期間,染色體的某些位置上,要加 入少量的變異。...
計算機內數字的表示
計算機中的數字有三種表示 無符號數 補碼 帶符號數 浮點數 資訊的儲存與定址 計算機中將位元組作為最小可定址單元。而位元組的排列順序分大端法和小端法兩種。大端法就是指將最高位放在最前面的儲存方式,而小端法則是將最低位放在最前面的儲存方式。c語言中的移位運算 帶符號數與無符號數的轉換 帶符號數 無符號...
計算機記憶體和磁碟的關係
上篇文章詳細講了計算機記憶體的物理結構,邏輯結構以及在記憶體的基礎上理解幾種常見的資料結構。但是,計算機系統出了記憶體之外,還有乙個非常重要的硬體,那就是磁碟。他們都是用於計算機儲存,但是記憶體是利用電流來實現儲存,而磁碟是利用磁效應來實現儲存,並且,從儲存容量來看,記憶體是高速 而磁碟則是低速廉價...