關于工程師 - 工程師和黑客的區別在哪里?

2014年11月12日 10:27 來源:互聯網 作者:佚名 我要評論(0)

標簽:工程師(68469)黑客(21847)

  關于工程師

  如今已經有很多文字來描述什么是黑客,但卻沒幾個字說說什么是工程師。在某種程度上,是因為相比黑客,工程師是一個更為古老的稱呼,或多或少都已經在人們心中定型,而且工程師通常是職業的稱呼,而非性格特征的描述。在本文中,我會試圖描述工程師的性格特征。

  工程師就像黑客的同胞兄弟,它們有一些相同的特征,而其他方面則相去甚遠。黑客藐視規則,而工程師熱愛規則(或者至少喜歡創造規則)。對工程師而言,井然有序是件好事,而對黑客來說混亂不堪則是益事。工程師的工作以建立過程和事物為伊始,向著原創方向而努力,很像《黑客與畫家》中所描述的科學家。黑客則以興趣為導向進行工作,工程師則傾向于死記硬背。當然,工程師偶爾也會不修邊幅。

  工程師和黑客的相似之處在于都是創造并搞定事情。正如科學家能夠完全沉浸在自己的研究當中一樣,藝術家也會在自己的藝術創作中迷失自我。黑客和工程師都是能將事情做好的人,是的,兩者的性格特征都傾向于吹毛求疵,總的說來,都是極力在直截了當地將問題徹底解決。

  說到吹毛求疵,我相信在藝術家和科學家、黑客和工程師之間存在一些不同。藝術家和科學家通常沉浸在自我工作的深度上,黑客和工程師則傾向于吹毛求疵地迷失在自我工作的廣度上。這是畫家和黑客、科學家和工程師之間的顯著不同。

  像黑客一樣,工程師也對細節斤斤計較。工程師對于細節的關注并非源于他們對于美的無盡追求,而是源于對正確性的自我要求,他們依賴已有知識體系和已知常識去創造事物。有些觀點認為工程師僅僅是缺乏創造力的實踐者,但我認為事實并非如此。

  工程師和黑客也都是工匠和實驗者,只不過他們以不同的方式來實踐罷了。黑客是自由散漫的工匠,工程師則是組織有序的工匠。工程師相比黑客更愿意以更為有條理的方式來做事,因此也比愛冒險的黑客少了許多風險。

  本質上工程師和黑客是一樣的,唯一的不同在于他們做事的方法和動機。就我看來,知識水平決定了一個人會成為黑客還是成為工程師(譯者注:知識水平越高的人越會成為工程師,因為他們知道的太多了)。

  關于嚴謹性

  最初的黑客其實是科學家,作為幾個世紀前便已存在的職業,科學家到二十世紀時已變地相當無組織無紀律。個人(自我)實驗司空見慣,很多暢銷小說中都會提到這么一段瘋狂的科學家情節。

  我曾經癡迷地讀過這么一本書————《豚鼠科學家》,這是一本通俗易懂且容易找到的書。在書中,作者回顧了那些熱衷做個人實驗的著名科學家。在我記憶中印象最深的是霍爾丹(JBS Haldane)(譯者注:遺傳學家和進化生物學家),部分原因是他是一名眾所周知的科學家,他的作品之前我之前也讀過。霍爾丹的個人實驗很有名,以至于因為實驗造成失聰,背脊也受了傷。

  要是霍爾丹是名電腦程序員,可能他會用所有調試方式來編寫程序來調試錯誤,簡而言之,就是黑客。

  嚴謹性要求在科學領域出現的較晚。隨著越來越多的信息開始在科學家們各自研究的領域傳播和分享,各種框架或約定也越來越被科學家們所需要。畢竟,如果兩個化學家就實驗的目的,工作流程等不能達成一致,那還搞個毛飛機呢?很快,適當的嚴謹性框架/約定在科學界被確定下來,比如如果要做科學家,你就必須得會做假設檢驗。

  我相信這樣的事情也發生在計算機科學及其工業領域。隨著計算機工業成熟化,它也變得越來越嚴謹。戴夫。蓋爾普林(Dave Gelperin)在1988年寫了一篇文章叫《軟件測試的發展》,在該文中,戴夫和他的合作者指出軟件開發已經從面向調試開發發展到面向規范開發(軟件必須滿足規范)、面向毀滅開發(目的是尋找錯誤),面向評估開發(能夠測試軟件質量)、面向防范開發(檢測和阻止錯誤發生)。

  今天我們可以找到很多嚴謹的軟件測試方法——從BDD到TDD,我敢打賭這只會更加穩固軟件嚴謹性的發展,就像假設檢驗是科學界嚴謹方式的中堅力量一般。

上一頁123下一頁全文

本文導航