寫第一篇讀後感畫的時間太長了,搞得我都不太想接著寫了,不過既然讀了,就簡單寫一下吧。不然這個書讀了轉眼就忘,也沒意義了。
作者首先表示了對電腦科學作為乙個整體概念的不滿。他認為電腦科學裡有三部分人組成,一部分人是接著電腦科學的名頭研究純數學的人,他們並不在意自己到底是計算機科學家還是數學家,只是電腦科學能為他們從美國國防部申請更多的經費。一部分人應該被稱為計算機博物學家,他們研究各種專門性的題目,比如網路的路由演算法。還有一部分人就是黑客,熱衷於優秀的軟體的設計。在這種情況下,黑客的工作往往被是否發表**來評價,但這卻是違反黑客精神的,黑客真正想做的事是設計優美的軟體,而不是尋找沒被人探索過的領域去做開荒工作發表**。黑客的工作無法被良好的考核,被誤解,甚至讓黑客自己對自己產生誤解,偏離自己真正的方向,想著要去搞懂很多的計算理論。
黑客屬於創作者,對他們來說最合適的程式語言是允許動態擴充套件的語言(比如python),不需要在程式設計之前就想好一切內容,而是可以隨意塗抹,擦擦改改。他們應該像作家和畫家一樣,對高深的數學理論不需要有所了解,他們只負責設計最優美的軟體,這必然是在大量前人的工作基礎上進行的,所以並不需要掌握很多的數學內容(關於這點我有些困惑,雖然軟體設計似乎確實不需要太高深的演算法,但是像機器學習之類的都是建立在數學基礎上的,可能這些在作者看來屬於科學家的範疇)。在高校,黑客被要求成為科學家,在企業中,黑客被要求成為工程師,這對黑客來說是一件很不幸的事情。
大公司在軟體設計方面會為了避免設計上的災難,選擇減少設計的標準差。而當他們排斥差異時,不僅排斥了失敗的可能,也排斥了高利潤的可能。但是對於大公司來說,只要做的不太爛,就能贏。這話一句道破了大公司成長到壟斷階段的優勢和劣勢,作者輕描淡寫之間說出了商業上的真理。所以真正競爭軟體設計的戰場都是新興領域的市場,這是最有可能成功的地方,基本所以的大公司也是從這裡起步的。
接下來作者提到了軟體開發的重要思路——從使用者的角度出發,換位思考。為了吸引使用者,比如理解使用者有什麼需求。為了寫出優秀的軟體,你必須假定使用者對你的軟體基本上一無所知。源**也應該可以解釋自己。這種觀點無疑十分正確,但是可能因為我聽得太多了,有些麻木。就像我認為的一樣,這些是必須要我有親身的經歷以後才會有深刻感受,現在權且記著吧。這裡作者引用了一句非常有名的話,「程式寫出來是給人看的,附帶能在機器上執行。」希望自己以後不論是程式設計還是做oj,都要把程式寫成給人看的,養成良好習慣。
這一章裡介紹了黑客的一些精神,還有程式設計的一些道理。比如設計軟體從使用者需求出發,對軟體精益求精,**要具有解釋性等,但是 因為聽得有點多了,所以未免感到有些枯燥。不過真理都是這樣的,很多人概況給你聽,只有你真正經歷的時候才能明白。
《黑客與畫家》讀後感
閱讀不僅僅幫你拓展思路,改變思維習慣,還會豐富與別人的談資 黑客與畫家 這本書的作者是乙個優秀it人,這是乙個程式設計人員寫的一本和程式設計沒什麼關係的書,但處處流露出與大部分人不同的思想,我想去看看 當然,這本書的作者有在他的行業裡面有多少的讚譽,我並不是很在意,我很好奇這本書的內容,只有乙個可能...
黑客與畫家讀後感
給人看 的 給人使用的軟體 好的程式 符合一句對它最基本的定義,程式是寫出來給人看 的,附帶能在機器上執行的東西,給人看才是最最初的目的,但現在,我們追尋的只是它的可執行性,或者及其優美得 邏輯性,入這一行,才會發現專研的越深,知道的越少,所以在我什麼都不懂的開頭,我就知道,技術是簡潔明朗的,在你弄...
為黑客正名 《黑客與畫家》讀後感
這樣的書值得一版再版,更值得我這樣的人一讀再讀。如果不是上周末聽podcast時池建強也提到了它,這本書不知將在我的kindle裡睡到何時。節目裡提到了這本 名著 擦,這竟然是本名著,現在只有用這樣猛的字眼才能引起我的注意,好像我又錯過了什麼?聽完我趕緊從kindle列表最後一頁調出了這本書,記得當...