為什麼說K&R是技術寫作的典範
其實,我已經不記得自己是第幾次重讀這本《The C Programming Language》了,但每次讀都不禁感嘆,技術書竟然也可以寫得如此精煉,完美,儼然是一副美麗的畫卷。能從此書進入浪漫而嚴謹的黑客世界不能不說是一種榮幸。因此這本書一直我向初學者們推薦的首選書籍。
但凡寫過技術文章的人都知道,寫這類文章最困難的地方就在於如何在細節嚴謹性與教學引導性之間找到合適的平衡點。如果沒有教學引導性,你就很容易寫出一部字典來,對於初學者來說,如果缺乏輕重緩急和一個循序漸進的過程,很可能就會不得其門而入。而如果缺乏足夠的、可以立刻上機測試的程式碼例項細節,就會讓他們覺得興趣黯然,導致學習過程形同嚼蠟。這就需要作者有豐富的教學經驗以及帶隊經驗。有了前者,我們就能熟悉教學心理,知道先教什麼,後教什麼,之間如何承前啟後,將人一步一步引入到這麼技術的運用中來。而有了實際帶隊經驗我們就會知道新手在具體實踐中會遇到那些情況,並且能準確的預料到學生在執行什麼程式碼時會遇到什麼問題,而在這種情況下往往是一點就通,不用長篇大論,事倍功半。
然而,只懂如何做一個老師是不夠的,計算機語言畢竟是一門科學語言,嚴謹的細節感是必不可少的。這就要求作者自己得是相關領域中的專家,至少得對這門學科的標準,設計原則瞭如指掌。唯有這樣才能言之有物,而不是靠類似++i+i++這樣的東西來譁眾取寵,而又在細節上似是而非的東西來濫竽充數,卻對真正需要濃墨重彩的結構體,標準庫部分語焉不詳,敷衍了事。
同時做到以上兩個方面並不容易,但這本書不但做到了,而且做得堪稱典範。作為C語言和UNIX作業系統的締造者,本書的作者K&R對於C語言的標準及其運用自然有著無可爭辯的權威。而他們從列印Hello World!開始的教學方式幾乎成為了所有程式設計教學的樣板。而即便如此,至今也沒有幾本書能像他們這樣,做到如此的有趣、精煉、嚴謹(這本書的主體部分還不足兩百頁,想想那些比C簡單得多的語言,動不動就是幾百頁大部頭。),令人百看不厭。
相關文章
- 我們為什麼要技術寫作
- 為什麼寫技術文章?
- 線上圓桌 | 對於技術寫作,你有什麼要說的?
- 中文技術文件的寫作規範
- 什麼是技術債,為什麼要還技術債?
- 為什麼說Java是2021年最值得學的技術?Java
- 為什麼要寫技術部落格?
- 為什麼說雲資料庫是商業的成功、技術的倒退?資料庫
- 為什麼說 Swoole 是 PHP 程式設計師技術水平的分水嶺?PHP程式設計師
- 為什麼甲骨文是技術的川普
- 什麼是框架?為什麼說 Angular 是框架?框架Angular
- 什麼是虛擬化技術,為什麼要虛擬化技術?薦
- 關於前端技術寫作✒,我想要說的?前端
- 為什麼說 TCP 是安全的TCP
- 大資料技術 - 為什麼是SQL大資料SQL
- 什麼是CDN?CDN的技術原理是什麼?
- 作為技術面試官,為什麼把你pass了面試
- vr全景技術是指什麼?什麼是vr全景技術?VR
- 為什麼要堅持寫技術博文
- 技術人員為什麼要寫部落格?
- 什麼是java?為什麼大家都學習java技術?Java
- 做為技術人員為什麼要寫部落格?
- 做為技術人員為什麼要寫部落格
- 為什麼說 HTTPS 是安全的?HTTP
- 什麼是cdn技術
- 我為什麼開始寫技術公眾號
- 為什麼有些技術人員不寫部落格?
- 為什麼雲MES是企業技術的未來?
- 什麼是好的技術文件?
- 為什麼找不到工作的是你,技術差的還是你?
- 技術美術師是做什麼的?
- 什麼是網路安全?網路安全防範技術包括哪些?
- 為什麼說 Serverless 是雲的未來?Server
- Linux是什麼?為什麼推薦學習Linux技術?Linux
- 技術寫作技巧分享:我是如何從寫作小白成長為多平臺優秀作者的?
- 什麼是CDN加速技術
- 隧道代理技術是什麼?
- 為什麼 Node 是小菜前端團隊的核心技術棧前端