“hello,world”是程式設計師世界的1+1,一個簡單而重要的起點,當你會“hello,world”的時候也就意味著你開始探索創造新世界了。
這句“hello,world”最早出現在Brian W.Kernighan的《B程式設計語言的入門教程》("Introduction to the Language B")一書中。
Brian W.Kernighan,貝爾實驗室計算科學研究中心高階研究人員,現任普林斯頓大學教授。這位被譽為“歷史上最偉大的十大程式設計師”、“十五位計算先驅”等等稱號的世界頂尖電腦科學家,發明了AWK語言和AMPL語言,還參與過與UNIX和許多其他系統的開發,對當今的程式設計師有極大的影響力。
由他編寫的The C Programming Language、The Practice of Programming、The Elements of Programming style等著作在計算機領域影響深遠。
今天小雪要為大家推薦的是Brian W.Kernighan的《世界是數字的》。
本書來源於作者Brian W.Kernighan在普林斯頓大學開設的課程“我們世界中的計算機”(COS 109 : Computers in Our World),是將其課程講義加以重新編寫而成。
這本書的內容是在一個動態的課堂下,由眾多人的思維碰撞而成,並不是靜態的個人經驗的書寫。比如這門課程裡學生們會試著用流行的程式語言寫幾行程式碼,大家一起討論蘋果、谷歌和微軟的技術如何滲入日常生活的每個角落等等。
本書豆瓣評分8.3,由蓋茨和祖克伯的導師——劉易斯,以及谷歌常務董事長施密特推薦,是一部通俗易懂的科普類讀物,簡明扼要但又深入全面地解釋了計算機和通訊系統背後的祕密,非常適合計算機初學者和非計算機專業的人讀。
對於一個已經在計算機領域摸爬滾打很多年的人來說,科普類的書可能太簡單,但是這本書的可貴之處在於,很多你以為你知道的東西,讀完後才恍然大悟:原來是這樣!另外,書中還有很多對計算機背後原理的解釋,也很有意思。
本書將這個數字世界從硬體、軟體和通訊三個部分來講解,其中硬體部分是作者最擅長的部分,篇幅佔了整本書的一半,但是處處點到為止,一點也不囉嗦。
在硬體部分,作者從技術、文化、社會以及社會工程學等角度,闡述了計算機的構成,計算機如何表示和處理資訊,某些術語和數字的含義,以及計算機隨著時間推移都有了哪些變化。
軟體部分,包括了演算法、程式設計和軟體系統,並介紹了集中程式語言以及程式設計的學習方法。讀完之後,讀者可以知道怎麼精確地描述任務和具體的程式,知道軟體是由什麼構成的,不同的程式語言怎麼編寫程式,程式怎麼程式設計軟體(通常是基於組建構建起來的)。
在第5章《程式設計與程式語言》中,作者對程式的描述就很有意思:
......另一方面,程式則不是抽象的,它陳述了一臺真正的計算機要完成某個任務所必須執行的具體步驟。程式之於演算法,猶如建築之於圖紙,一個是實際存在的,一個是理想化的。
換一個角度看,程式又是以計算機能夠直接處理的某種形式表達出的一個或多個演算法。程式必須考慮實際的問題,比如記憶體不足、處理器速度不快、無效或惡意的輸入、網路連線中斷,以及(看不見摸不著,但卻經常會導致其他問題惡化的)人性弱點。因此,如果說演算法是理想化的菜譜,那程式就是讓泵人機器人冒著敵人的炮火為軍隊準備一個月的給養所需的操作說明書。通訊系統,無所不在。作者專門用了一個部分來講解通訊系統,包括網路、網際網路、全球資訊網以及資料、資訊和隱私,帶領讀者去理解其中的資訊流動,並瞭解資訊是如何得到控制的。
本書開篇引用了阿瑟•C.克拉克《三號行星的報告》(1972年)中的話:
“任何足夠先進的技術都與魔術無異”。
魔術是“在滿足物質不滅定律及能量守恆定律的條件之下,呈現出違反經驗法則的表演”,或許,作者在書的開端就想告訴我們所有人,那些看上去不可思議的先進技術也是在遵循規律的前提下發生的,並沒有神祕之處,而Brian W.Kernighan就是為我們揭開技術神祕面紗的那個人。
《世界是數字的》簡明扼要但又深入全面地解釋了計算機和通訊系統背後的祕密,旨在讓沒有技術背景的讀者更好地理解自己生活的這個數字世界......還探討了新技術引發的社會、政治和法律問題,讓你明白現實當中的一些難題和迫不得已的折中。我相信,瞭解這些技術常識對於任何人都非常重要、無論你是什麼背景。
—— Brian W.Kernighan
讀者可以收穫什麼?
如果你是完全不懂技術的人,那麼本書可以帶給你的是讓你徹底重新認識數字世界,讓你面對技術世界的時候不會那麼遙遠而陌生。就像生活告訴你的那樣,當你一無所知的時候,危險就距離你越近了。而本書可以充當你的一個武器,讓你更淡定地面對數字世界中的風險和危險。
如果你是略懂技術的入門小白,在你鍛造技能的路上,本書將是你的專業教練,讓你從現在開始就樹立正確的觀念和操作姿勢,幫你節省那些不必要的”糾錯時間“。是的,《世界是數字的》能做到的就是讓你一開始就是對的。
如果你是技術行業的熟手,甚至大神,那麼本書可以成為你始終保持初心的一件神器。路走的太遠總是容易忘記為什麼出發,想要突破技術之路的瓶頸,抑或是需要增加新的馬達,那麼《世界是數字的》是你最好的選擇。你可以從中去發現那些你熟悉的事物背後的邏輯,然後你能重新認識我們所生活的數字世界。
此外,作者還在書中寫明瞭學習《世界是數字的》的方法,並對三大部分分別提出了學習目標建議,這讓你的學習不會只是“讀過此書”。不僅如此,作者還為你推薦了一些他自己喜歡的書,分享了很多有價值的內容,比如推薦書籍的線上版,一些圖片資源的連結,課程的連結等等。實在是業界良心!
書中還有一大波福利,等你去挖掘!
參考來源:
更多資訊: