黑客讀後感

2021-10-20 17:44:49 字數 2430 閱讀 4280

簡介

《黑客》這本書介紹的是上世紀50~80年代的一段計算機歷史,介紹第一代黑客的起源,第二代硬體黑客對世界的影響,第三代遊戲黑客如何讓電腦融入大眾生活,類似「魔戒三部曲」一樣巨集偉的一部計算機編年史。

黑客的起源

mit ai實驗室第九大樓是黑客的發源地,」hack」一詞大概最早就是由mit的學生提出的,原來是用來形容本校學生的一些精心策劃的惡作劇,但ai實驗室的黑客們對」hack」卻有著極大的尊敬。一般一項技藝能稱為」hack」,它必須有創新,有風格,有技術含量,ai實驗室裡面效率最高的人就非常驕傲的稱自己為」hacker」。

黑客馬拉松

熟悉facebook的人對黑客馬拉松都會有所了解,facebook每年都會舉辦幾場黑客馬拉松程式設計比賽,在這些比賽中也誕生了很多偉大的產品,在《黑客》這本書裡面講到這一活動的早期雛形。在上個世紀50年代,個人電腦還沒有普及,在mit學校裡面接觸電腦的那一幫最早的黑客只能通過大型機程式設計。但是大型機就那麼幾台,所以喜歡程式設計的黑客們的上機時間非常有限,一般是乙個人剛上完機,另外乙個人就迫不及待地頂替他的位置編寫自己的**,甚至有些黑客覺得白天上機的時間不夠,會晚上偷偷溜進實驗室繼續程式設計。雖然現在個人電腦已經很普遍了,但黑客們還是很喜歡這種長時間程式設計活動。

黑客道德與敏捷開發

敏捷開發中有什麼?有快速迭代,**所有制,團隊自組織,了解敏捷開發的同學對此都比較清楚,而黑客道德裡面也有一些很相似的共同點,我因此覺得黑客道德是敏捷開發的原型。

資訊應該免費

黑客普遍認為資訊應該免費共享(為什麼說普遍?因為比爾蓋茨不是這樣認為的,他認為軟體也是腦力勞動的成果,所有人應該尊重勞動成果,所以他寫了那一封很著名的信——給電腦愛好者的公開信),他們認為計算機(包括軟體和硬體)應該公開其中的黑盒,讓所有人參與到其中的開發並對其進行完善,這樣計算機才能取得更大的進步。敏捷開發中的**所有制與此觀點相同,認為團隊中的**不應該為個人所有,應該所有人都有權對**進行修改。

快速開發產品原型

在facebook崇尚的黑客之道中,就有done is better than perfect的說法,就是說一開始不要追求產品的完美,先做出產品的原型得到市場的反饋,再慢慢根據反饋來完善產品。黑客們一直以來也是這樣做的,遇到感興趣的問題不會想太多,做了再說,快速把核心功能開發出來驗證自己的想法,很多偉大的產品都源自於此。敏捷開發中的快速迭代也是類似的原理,甚至最近比較火的精益創業也是此種觀點。

對權威挑戰

黑客希望資訊共享,能快速開發產品,對開發的效率要求是十分嚴格,他們對工具的追求像對完美藝術追求一樣。但大部分權威機構的產品都不能滿足黑客們的要求,它們笨重、不開放、設計保守。黑客們更傾向於自己開發工具,自給自足,然後開放給其他黑客一起使用,大家一起完善。這是一種對權威的挑戰、蔑視,黑客與生俱來的叛逆精神。

優雅簡潔的**

在還是大型機的時代,電腦的記憶體和容量非常小,黑客在程式設計的時候需要讓自己的**盡可能的少,這樣才能「塞進」機器裡面執行。比如實現某個功能,如果某人只是按部就班的實現這個功能,大家可能會覺得他只是靠蠻力解決了問題,勉強算是乙個程式設計師,但如果他使用了一種奇妙的演算法,讓**量大大減少了,那麼大家會覺得他是乙個黑客,是一位追求完美的藝術家,比如比爾蓋茨編寫的4kb大小的basic程式就經常為黑客們所津津樂道。敏捷開發中對**的重構推崇有加,介紹重構的資料最經典的是martin.flower重構一書,技術背後的思想我覺得跟這些早期黑客是一致的,要像藝術家一樣對待自己的**,追求優雅和完美,是一種對自我的超越。有個說法是,如果你看自己以前的**覺得很爛,證明你已經進步了,看自己**的時間間隔越短,證明你進步的越快,比如上午寫完的**,下午review時覺得太糟糕了,那恭喜你,你已經進步了。

防禦性程式設計

最後說一下防禦性程式設計,比較有意思。以前有一位外號叫「嘎吱船長」的黑客約翰.德拉浦,他是位天才的技術家,他喜歡的程式設計風格就是「防禦式程式設計」。大部分人在修復bug時,一般都會找到出錯的**,然後改正它,而船長的改法比較特別,不修改出錯的**,而是加上另外一段**來讓程式自己發現問題後自己修復。比如下面的一段有錯誤的**:12

3456

def method_name(self):

x = y = 2

sum = x + y

if sum == 5:

# do something

…正常人會這樣改:12

3456

def method_name(self):

x = y = 2

sum = x + y

if sum == 4: #一般會改這裡

# do something

…但是船長是這樣來修復:12

3456

78910

11def method_name(self):

x = y = 2

sum = x + y

#在這裡加**...  

if sum != 5:

sum = 5

if sum == 5:

# do something

...

《黑客與畫家》讀後感

閱讀不僅僅幫你拓展思路,改變思維習慣,還會豐富與別人的談資 黑客與畫家 這本書的作者是乙個優秀it人,這是乙個程式設計人員寫的一本和程式設計沒什麼關係的書,但處處流露出與大部分人不同的思想,我想去看看 當然,這本書的作者有在他的行業裡面有多少的讚譽,我並不是很在意,我很好奇這本書的內容,只有乙個可能...

黑客與畫家讀後感

給人看 的 給人使用的軟體 好的程式 符合一句對它最基本的定義,程式是寫出來給人看 的,附帶能在機器上執行的東西,給人看才是最最初的目的,但現在,我們追尋的只是它的可執行性,或者及其優美得 邏輯性,入這一行,才會發現專研的越深,知道的越少,所以在我什麼都不懂的開頭,我就知道,技術是簡潔明朗的,在你弄...

關於黑客的讀後感

黑客,源於英文hacker,原bai指du熱心於計算機技術,水平zhi高超的電腦專家dao。有人說 是黑客成就zhuan了shu網際網路,成就了個人電腦,成就了自由軟體,黑客是計算機和網際網路革命真正的英雄和主角。而如今呢?黑客商業化,黑色產業鏈已經很成熟 免殺,盜號,掛馬,黑站,傳播病毒 這一切讓...