這本書是當兵前傳說中的 jserv
大神送的,雖然說當兵有很多零碎時間,但能利用的時間不太多,19
天也才差不多看完這本書。
作者paul
graham 是位程式設計師,創立了第一個提供網頁端服務的新創公司viaweb
,後來被Yahoo
收購轉變成yahoo
store,他同時是Y
combinator 的共同創辦人
內容沒什麼主軸,序言也自承各章間沒有關係,比較像作者寫的散文集,介紹他的想法、viaweb
的運作…,可以從字裡行間看出作者對網際網路獨到的眼光,例如本書寫在2004
裡,可是它仍精準的預見了網路應用程式的興起:「『我的電腦』這程概念正在遠去…我們應該能透過任何電腦取得我們的資料」、「用戶端不應該儲存資料,應該像是電話一樣…資料和應用程式都不需保存於用戶端」、「如果微軟的應用程式只能用在某些用戶端,競爭者將能藉由提供其他用戶端所需的版本而取勝」
對照現今的dropbox,
chromebook, 行動裝置,幾乎都預測到現今的科技走向,作者也用viaweb
的營運來解釋網站型應用程式的特性,包括滾動式的出貨更新、極低的營運成本、小程式的組合而非單一大程式、為了在競爭中取勝而被迫無時無刻工作,如果是相關領域的人一定會看得猛點頭。
後面有一大部分則用來抒發作者對於「程式」這樣東西的看法,作者本身就是程式語言設計師,專精的語言是Lisp(他甚至設計了一個Lisp
的方言),書中對Lisp
的先進特性著墨許多,他覺得學Lisp就算用不上,也能鍛鍊自己對程式的想法,或許之後應該利用下部隊的閒暇時間來學習一下傳說中的危險剃刀。
依作者的看法,他認為理想的語言應該有下面這幾個特性:
- 可以很快用很短的原始碼完成雛型產品,不需慢慢堆出成品
- 可以快速分析原始碼,找到需要最佳化的焦點
- 夠直覺,可以輕易上手,不需要長篇大論的使用說明
- 核心夠小而且強大,不對使用者作出額外限制
當然不用說Lisp
應該是作者理想語言的首選;以我個人的觀點,我認為python
是目前最符合這樣描述的語言,但新的語言不斷出世,時時刻刻都要保持學習的心情,就像作者警告的:你學會一種語言,你會用那種語言在思考,於是你只會覺得其他語言只是「多了一些不一樣的語法,可以達到相同功能」的語言,卻會忽視了其他語言的強大之處。
整體來說,這本書還是可以看,不過我覺得不太需要太過認真,選幾章看起來有趣的章節讀就好了,不過話說回來這本書好像已經絕版了,只能看網路上的電子全文了:
相關資料:
paul
graham 的個人網頁
viaweb條目:
噢,附帶一提,這本書裡面錯字其實不少,而且依據錯字錯的方式,我認為翻譯的人可能是用嘸蝦米輸入法,像是運算(ZMR)變成運些(ZFR),決定(NEZ)變成決正(EZ)
沒有留言:
張貼留言