這才是黑客文化的精髓!

聽說“黑客文化”這個詞,就像在昨天。想起它,眼前就出現一些頭髮蓬亂,穿黑色道袍的人。最早的時候,他們努力地向人們澄清:“黑客”不是貶義詞,不是指那些入侵電腦網絡的罪犯。當人們明白過來之後,他們開始告訴人們如何成為一個黑客,並且把黑客與畫家相提並論。當人們受到鼓舞,決心成為黑客之後,他們開始向這些人灌輸黑客的“行為守則”,“提問的藝術”等等。總之就是說,你得顯示出一些非常重要的特徵以證明你是高手,並且教育那些菜鳥們。否則按照我們的標準,你就不是個黑客!

於是忽然間,我來到了這個黑客遍地的世界。體驗著,忍受著自己嚮往已久的“黑客文化”。

某大牛說……

一箇中等水平的黑客要說服一個菜鳥水平的黑客,方法很簡單:引用一個超級黑客的話。至於為什麼嘛,我也不知道,總之你照辦就是了。最好記住那超級黑客的名字,以後再遇到不懂事的菜鳥就用同樣的方法教育他,免得我親自來動口舌!

笨蛋才不會用這個工具

黑客的世界裡有很多揹著歷史包袱,設計拙劣,你卻不得不用的工具。黑客文化的其中一個作用就是掩蓋這些工具的設計失誤。這定律被我叫做“都是用戶的錯”。

你的智商和能力被一些膚淺的標準所衡量,你每天都在提心吊膽的接受各種審查。這兩個 Git 命令的區別都不知道?還當什麼黑客!哪個學校畢業的?老師連這都沒教過你們?哎,算我面試時看走眼了。

於是為了顯示自己有能力,接受過良好的教育,你不敢再問這種問題。為了避免再受傷害,為了掩飾自己的“無知”,你變成了一隻刺蝟。你開始用自己會的那點東西去審查其他人,傷害其它人,以為這樣就可以保護自己。這些被傷害的人又轉而去傷害更多的人。

Visitor pattern 都不會寫?還當什麼黑客!這廝今天終於讓我抓住把柄了 :)

只有天才才能理解它的簡單

某超級大牛說過,我的系統是簡單的,但只有天才才能理解它的簡單。

你敢說我的系統不簡單?哼哼,那你肯定不是像我一樣的天才。你知道嗎?其實我爺爺的爺爺是給皇帝做衣服的。他的座右銘是:看不見這衣服的人都是白痴或者不稱職的人。

所以你不敢說任何東西太複雜,太難用,太不可視化,對用戶不友好。否則就會有人鄙視你:菜鳥,白痴,人笨怪刀鈍!

擇其難者而從之

做一件事有兩種方法,一種容易一種難,你會選擇哪種?

普通人都會選擇更容易的,但是很奇怪的是,受到黑客文化薰陶的人,往往會選擇困難的那種。如果這選擇只是個人的喜好,如果他們尊重其他人的選擇,那還無所謂了。但十有八九,選擇了明顯更加難用的工具的人,並不會從心底尊重那些選擇更加容易的工具的人。這貌似是一種必然的結果。

這其實是心理上的優越感在作怪。很多人選擇困難的工具,並不是因為真的覺得它們好用,而是因為只有用其他人不會的東西,才能顯示出自己的特殊性,顯示出高人一等的水平。由於其根本的動機就來自於優越感,所以他們是不可能不找機會利用這得來不易的優越感的。

有些人雖然可能口頭上不說,但他們隨時都在觀察,看其他人選擇了哪一種工具。那些選擇了(或者傾向於選擇)更容易的方法的人,會在他們的印象中產生一種膚淺的感覺,從而不會真正的被尊重。這種不尊重累積起來,就會開始隱約的表現出來,從而導致同事間工作關係的惡化。當然也有人更加露骨一些,直接就問別人選擇了什麼工具,然後嘲笑那些選擇了容易工具的人為菜鳥。

常見例子:

  • VIM 與 Emacs,選擇 VIM

  • Emacs 與 IntelliJ(編輯 Java),選擇 Emacs

  • 組合鍵與方向鍵(移動光標),選擇組合鍵,因為“並不是每個鍵盤都有方向鍵的!”

  • Linux 與 Windows,Mac,選擇 Linux

  • Gentoo 與 Ubuntu,選擇 Gentoo

  • Terminal 與 GUI,選擇 Terminal,使用黑底綠字

  • TeX 與 Word,選擇 TeX,拒收 .docx 附件

  • C++ 與 Java,選擇 C++

RTFM!

RTFM = Read The Fucking Manual!

這才是黑客文化的精髓!

(圖片來源:Abstruse Goose)

慣用法:有人在#java聊天室問了一個問題,結果大家回答說:“RTFM!”“菜鳥,去讀了 API 再來這裡混!”

當這種現象普及開來之後,普通的問題你都不能問別人了。比如:“哎,今天會不會下雨呢?”因為在黑客文化裡,別人的回答會是:“你不會 Google 嗎!”當然,在中國這句話就是:“你不會百度嗎!”

就像 IRC 裡面的人一樣,我不明白他們為什麼在那裡面,彷彿他們唯一的樂趣就是告訴別人“你不該問這個問題”,“你浪費了我的時間”。當這種現象普及到更廣的社會,你知道會有什麼結果嗎?任何人都不要再對任何人說話了,因為說話全都是浪費時間。

“你不該問這個問題”這種說法是非常大的攻擊行為,它是人類良好社會關係的殺手。其實對別人“該不該問這個問題”的“考慮”本身就是一個錯誤。我們甚至不應該說“你可以問這個問題”,因為那應該是不言而喻的,想都不用想。

任何人都允許問任何問題並不等於會浪費你的時間,因為你並不是必須回答每一個問題。所以我的做法總結下來就是一句話:我誓死捍衛你問問題的權利和尊嚴,但我不一定要回答你。比如在 IRC 聊天室,如果遇到有很初級的問題我懶得回答或者太忙,我不吭聲就是了。我對問問題的人沒有任何反感,我只是等其他人去回答他。但是“你不會 Google 嗎!”肯定是非常不禮貌的做法。

你問我,所以你懂的沒我多

子貢問曰:“孔文子何以謂之文也?”子曰:“敏而好學,不恥下問,是以謂之文也。”

可不要被孔老二誤導了!在黑客文化裡,這種不恥下問的行為是相當危險的。一次可能還好,多幾次之後,我看你不被當成傻b菜鳥才怪。

希望你向我們學習

進了新的黑客公司很興奮哈?可是發現代碼裡有不大好的地方怎麼辦呢?如果吭聲,立即討人嫌。如果不吭聲,那就等於承認了我們的代碼是“模範”咯。跟著學吧,小弟。要學像哦!

這就是我們的作法

我們剛從某大公司挖來一個世界級高手。結果他對我們引以為豪的一段代碼提出了異議,說那是 premature optimization,思路不清晰。切!

雖然他是世界級的高手,可我們才是這裡的地頭蛇,所以我們得告訴他:“這就是我們的作法!”

結束語

上面的小片段,估計在你自己的生活中已經出現過很多次了吧?它們也在我的生活中出現過很多次。不同的學校或者公司,有可能出現其中的幾種或者全部。其實哪裡來的什麼“黑客文化”?文化就是文化,管你做什麼工作。不要忘了黑客不過是一種工作,跟醫生,律師,廚師,教師一樣的。所謂黑客文化只不過是為一些人的各種無理怪癖找藉口,搞特殊化。

按照以上標準,我不認為自己是個黑客。我是一個計算機科學家,我按照幾百年來國際通用的禮節行事。計算機科學家與黑客的區別在於他不只按照工具的手冊來完成規定的任務。他經常記不住別人設計的複雜工具如何使用,因為他本人是一個更好的設計師。他審視這些工具的設計合理性,發現蹩腳的地方,然後構思更好的設計方案。他總是嘲笑和自嘲,我們其實仍然生活在計算機的石器時代。

在自己的公司裡,我希望創造一個更加人性化的氛圍,而不是宣揚所謂的黑客文化。讓所有人無論男女,無論水平如何都身心舒坦,受到尊重,可以談天說地,不恥下問。


分享到:


相關文章: