1. 程式人生 > >世界是數字的pdf

世界是數字的pdf

目錄 rip 內容 步驟 比特 back 查看 專業 溫度

下載地址:網盤下載

作者簡介 · · · · · ·

Brian W. Kernighan

世界頂尖計算機科學家,曾為貝爾實驗室計算科學研究中心高級研究人員,現為普林斯頓大學教授。他是AWK語言和AMPL語言的發明人,還參與過UNIX和許多其他系統的開發,同時出版了The C Programming Language、The Practice of Programming、The Elements of Programming Style等在計算機領域影響深遠的著作。

Kernighan主張所有人都應該了解計算機,在他心目中,此書相當於“寫給未來總統的計算機讀物”,是新一代公民必讀之作。本書中講解的內容甚至會影響我們在微博和社區上的活動,以及使用智能手機的方式。

目錄 · · · · · ·

目 錄
開篇語  1
任何足夠先進的技術都與魔術無異。
——阿瑟?C.克拉克,“技術及未來前景”,
《三號行星的報告》,1972年
第一部分 硬件
計算設備的歷史悠久,不過早期的計算設備大多數是專用的,通常用於預測天文事件及其發生方位。例如,關於巨石陣,一個尚未證實的推測就認為它是一座天文觀測站。公元前100年制造的安提基瑟拉機器就是一臺天文計算機,其機械結構之精妙令人嘆為觀止。
第1章  計算機裏有什麽  11
PC這個名字是個人計算機(Personal Computer)的縮寫,或者說源自於1981年IBM開始賣的那種PC。還有些人可能有蘋果Mac機,上面運行某個版本的Mac OS X操作系統。更專用的設備,比如手機和平板電腦,也是強大的計算機。這些計算機看起來很不一樣,用起來也感覺不一樣,但這僅僅是表象,其實根本沒區別。
1.1  邏輯構造  13
1.2  物理構造  18
1.3  摩爾定律  21
第2章 比特、字節與信息表示  23
溫度計的紅色液體(通常是染色酒精)或水銀柱是模擬的:液體會隨著溫度變化按比例膨脹或收縮,因此溫度產生較小的變化,液體柱高度也會相應產生較小變化。但大樓外面顯示溫度的廣告牌則是數字的:顯示屏顯示的是數值,溫度介於36.5和37.4之間時,它都顯示為37。
2.1  模擬與數字  23
2.2  模數轉換  25
2.3  比特、字節與二進制  30
2.4  小結  37
第3章 深入了解CPU  39
今天的筆記本電腦,甚至連手機都已經有多個CPU了。英特爾酷睿雙核處理器在一塊集成電路芯片上集成了兩個CPU(“核心”)。在一塊芯片上集成越來越多的處理器已經成為明顯的趨勢。
3.1  玩具計算機  40
3.2  真正的CPU  45
3.3  緩存  47
3.4  其他計算機  49
硬件部分小結  51
第二部分 軟件
2010年4月的美國《消費者報告》(Consumer Reports)稱豐田雷克薩斯GX460車型“不能買:存在安全隱患”,因為其電子穩定控制系統會導致這款SUV在急速轉彎時車尾過分向外甩,從而可能導致翻車事故。一個月之內,豐田公司就升級軟件,修復了這個問題。根本就沒有任何機械問題,僅僅是軟件最初有些問題。
第4章 算法  57
假設我們想找出誰是房間裏個子最高的人。我們可以四下裏看看,然後猜一猜會是誰。然而,算法則必須精確地列出每一個步驟,從而讓不會說話的計算機都能遵照執行。最基本的做法就是依次詢問每個人的身高,並記住到目前為止誰最高。於是,我們可能會問“約翰,你多高?瑪麗,你呢?”
4.1  線性算法  58
4.2  二分搜索  60
4.3  排序  62
4.4  難題與復雜性  66
4.5  小結  68
第5章 編程與編程語言  71
程序必須考慮實際的問題,比如內存不足、處理器速度不快、無效或惡意的輸入、網絡連接中斷,以及(看不見摸不著,但卻經常會導致其他問題惡化的)人性弱點。因此,如果說算法是理想化的菜譜,那程序就是讓烹飪機器人冒著敵人的炮火為軍隊準備一個月的給養所需的操作說明書。
5.1  匯編語言  72
5.2  高級語言  73
5.3  軟件開發  79
5.4  軟件資產  84
第6章 軟件系統  93
你使用的電腦中會裝有各種各樣的程序,比如瀏覽器、文字處理器、音樂播放器……這些程序有一個專業的叫法,即應用程序(application)。典出何處?或許出自“這個程序是計算機在完成某個任務方面的應用”吧。
6.1  操作系統  94
6.2  操作系統怎麽工作  98
6.3  其他操作系統  101
6.4  文件系統  102
6.5  應用程序  108
6.6  軟件分層  111
第7章 學習編程  115
如果你自己折騰一天連10行代碼都調試不好,那別人要是說能按時交付百萬行級的程序,而且沒有任何bug,你相信嗎?換個角度說,有點編程常識也能讓人明白,其實也不是寫什麽程序都那麽難,大不了請人幫你寫唄。
7.1  編程語言的基本概念  116
7.2  第一個JavaScript程序  117
7.3  第二個JavaScript程序  119
7.4  循環  121
7.5  條件  122
7.6  庫和接口  124
7.7  JavaScript怎麽工作  125
軟件部分小結  127
第三部分 通信
幾千年前,人們就曾通過善於長跑的人傳遞消息。公元前490年,費迪皮迪茲從馬拉松戰場奔跑了42公裏到達雅典,把打敗波斯人的勝利消息傳遞給了雅典人。不幸的是,跑到雅典之後,他上氣不接下氣地說完“慶祝吧,我們勝利了”之後就死了(至少傳說裏是這麽講的)。
第8章 網絡  135
電話網作為一個覆蓋全球的大型網絡,從一開始只傳送語音,到後來同時傳輸語音和可觀的數據,為人類做出了貢獻。大約有近20年的時間,人們都是通過電話網把家用計算機接入互聯網的。
8.1  電話與調制解調器  136
8.2  有線和DSL  136
8.3  局域網和以太網  138
8.4  無線網絡  141
8.5  手機  144
8.6  小結  147
第9章 互聯網  149
簡單算一下就會發現,IPv4地址只有大約43億個,甚至還不夠地球上每人分一個。因此,按照人類使用的通信服務數量的增長勢頭,這些IPv4地址遲早會被耗光。實際情況比這種“危言聳聽”更糟糕,因為IP地址是按塊劃分的,這樣用起來就沒有理論上那麽有效率。
9.1  互聯網概述  150
9.2  域名和地址  153
9.3  路由  157
9.4  協議  159
9.5  高層協議  162
9.6  帶寬  172
9.7  壓縮  173
9.8  錯誤檢測和校正  176
9.9  小結  177
第10章 萬維網  179
萬維網的誕生可以追溯到1989年。當時,在日內瓦附近的歐洲核子研究中心工作的英國物理學家蒂姆?伯納斯?李,為便於通過互聯網共享科學文獻和研究結果而設計了一套系統,以及一個只能用文本模式查看可用資源的客戶端。這套系統在1990年投入使用。說來慚愧,我1992年10月還親眼見過有人使用它,可當時並沒覺得它有那麽好,也根本沒想到6個月後誕生的第一個圖形界面瀏覽器會改變世界。瞧我這眼光!
10.1  萬維網如何工作  180
10.2  HTML  182
10.3  表單  183
10.4  cookie  184
10.5  動態網頁  186
10.6  網頁之外的動態內容  189
10.7  病毒和蠕蟲  190
10.8  萬維網安全  192
10.9  密碼術  201
10.10  小結  208
第11章 數據、信息和隱私  211
隱私常常就是安全的同義詞。至少對每個個體而言,如果自己的生活信息被傳播得隨處可見,那怎麽會讓人感覺安全無憂呢?特別是互聯網,它對個人安全已經產生了重大影響。這種影響更多體現在財務風險而非人身安全方面。因為互聯網讓人們從各種來源收集和整理信息變得異常容易,從而為電子入侵大開方便之門。
11.1  搜索  212
11.2  跟蹤  216
11.3  數據庫、信息與聚合  221
11.4  隱私失控  224
11.5  雲計算  225
11.6  小結  230
第12章 結束語  231
最後,讀者諸君務必牢記一點,無論今天的技術多麽千變萬化,人是不變的。無論從哪方面來看,現代的人類與幾千年前的人類並沒有太大區別。
註解  236
詞匯表  242
索引  253
版權聲明  256

下載地址:網盤下載

世界是數字的pdf