聽(tīng)說(shuō)“黑客文化”這個(gè)詞,就像在昨天。想起它,眼前就出現(xiàn)一些頭發(fā)蓬亂,穿黑色道袍的人。最早的時(shí)候,他們努力地向人們澄清:“黑客”不是貶義詞,不是指那些入侵電腦網(wǎng)絡(luò)的罪犯。當(dāng)人們明白過(guò)來(lái)之后,他們開(kāi)始告訴人們?nèi)绾纬蔀橐粋€(gè)黑客,并且把黑客與畫(huà)家相提并論。當(dāng)人們受到鼓舞,決心成為黑客之后,他們開(kāi)始向這些人灌輸黑客的“行為守則”,“提問(wèn)的藝術(shù)”等等。總之就是說(shuō),你得顯示出一些非常重要的特征以證明你是高手,并且教育那些菜鳥(niǎo)們。否則按照我們的標(biāo)準(zhǔn),你就不是個(gè)黑客!
于是忽然間,我來(lái)到了這個(gè)黑客遍地的世界。體驗(yàn)著,忍受著自己向往已久的“黑客文化”。
某大牛說(shuō)……
一個(gè)中等水平的黑客要說(shuō)服一個(gè)菜鳥(niǎo)水平的黑客,方法很簡(jiǎn)單:引用一個(gè)超級(jí)黑客的話。至于為什么嘛,我也不知道,總之你照辦就是了。最好記住那超級(jí)黑客的名字,以后再遇到不懂事的菜鳥(niǎo)就用同樣的方法教育他,免得我親自來(lái)動(dòng)口舌!
笨蛋才不會(huì)用這個(gè)工具
黑客的世界里有很多背著歷史包袱,設(shè)計(jì)拙劣,你卻不得不用的工具。黑客文化的其中一個(gè)作用就是掩蓋這些工具的設(shè)計(jì)失誤。這定律被我叫做“都是用戶的錯(cuò)”。
你的智商和能力被一些膚淺的標(biāo)準(zhǔn)所衡量,你每天都在提心吊膽的接受各種審查。這兩個(gè) Git 命令的區(qū)別都不知道?還當(dāng)什么黑客!哪個(gè)學(xué)校畢業(yè)的?老師連這都沒(méi)教過(guò)你們?哎,算我面試時(shí)看走眼了。
于是為了顯示自己有能力,接受過(guò)良好的教育,你不敢再問(wèn)這種問(wèn)題。為了避免再受傷害,為了掩飾自己的“無(wú)知”,你變成了一只刺猬。你開(kāi)始用自己會(huì)的那點(diǎn)東西去審查其他人,傷害其它人,以為這樣就可以保護(hù)自己。這些被傷害的人又轉(zhuǎn)而去傷害更多的人。
Visitor pattern 都不會(huì)寫(xiě)?還當(dāng)什么黑客!這廝今天終于讓我抓住把柄了 :)
只有天才才能理解它的簡(jiǎn)單
某超級(jí)大牛說(shuō)過(guò),我的系統(tǒng)是簡(jiǎn)單的,但只有天才才能理解它的簡(jiǎn)單。
你敢說(shuō)我的系統(tǒng)不簡(jiǎn)單?哼哼,那你肯定不是像我一樣的天才。你知道嗎?其實(shí)我爺爺?shù)臓敔斒墙o皇帝做衣服的。他的座右銘是:看不見(jiàn)這衣服的人都是白癡或者不稱職的人。
所以你不敢說(shuō)任何東西太復(fù)雜,太難用,太不可視化,對(duì)用戶不友好。否則就會(huì)有人鄙視你:菜鳥(niǎo),白癡,人笨怪刀鈍!
擇其難者而從之
做一件事有兩種方法,一種容易一種難,你會(huì)選擇哪種?
普通人都會(huì)選擇更容易的,但是很奇怪的是,受到黑客文化熏陶的人,往往會(huì)選擇困難的那種。如果這選擇只是個(gè)人的喜好,如果他們尊重其他人的選擇,那還無(wú)所謂了。但十有八九,選擇了明顯更加難用的工具的人,并不會(huì)從心底尊重那些選擇更加容易的工具的人。這貌似是一種必然的結(jié)果。
這其實(shí)是心理上的優(yōu)越感在作怪。很多人選擇困難的工具,并不是因?yàn)檎娴挠X(jué)得它們好用,而是因?yàn)橹挥杏闷渌瞬粫?huì)的東西,才能顯示出自己的特殊性,顯示出高人一等的水平。由于其根本的動(dòng)機(jī)就來(lái)自于優(yōu)越感,所以他們是不可能不找機(jī)會(huì)利用這得來(lái)不易的優(yōu)越感的。
有些人雖然可能口頭上不說(shuō),但他們隨時(shí)都在觀察,看其他人選擇了哪一種工具。那些選擇了(或者傾向于選擇)更容易的方法的人,會(huì)在他們的印象中產(chǎn)生一種膚淺的感覺(jué),從而不會(huì)真正的被尊重。這種不尊重累積起來(lái),就會(huì)開(kāi)始隱約的表現(xiàn)出來(lái),從而導(dǎo)致同事間工作關(guān)系的惡化。當(dāng)然也有人更加露骨一些,直接就問(wèn)別人選擇了什么工具,然后嘲笑那些選擇了容易工具的人為菜鳥(niǎo)。
常見(jiàn)例子:
?VIM 與 Emacs,選擇 VIM
?Emacs 與 IntelliJ(編輯 Java),選擇 Emacs
?組合鍵與方向鍵(移動(dòng)光標(biāo)),選擇組合鍵,因?yàn)?ldquo;并不是每個(gè)鍵盤(pán)都有方向鍵的!”
?Linux 與 Windows,Mac,選擇 Linux
?Gentoo 與 Ubuntu,選擇 Gentoo
?Terminal 與 GUI,選擇 Terminal,使用黑底綠字
?TeX 與 Word,選擇 TeX,拒收 .docx 附件
?C++ 與 Java,選擇 C++
RTFM!
RTFM = Read The Fucking Manual!
慣用法:有人在#java 聊天室問(wèn)了一個(gè)問(wèn)題,結(jié)果大家回答說(shuō):“RTFM!”“菜鳥(niǎo),去讀了 API 再來(lái)這里混!”
你不會(huì) Google (百度)嗎?
當(dāng)這種現(xiàn)象普及開(kāi)來(lái)之后,普通的問(wèn)題你都不能問(wèn)別人了。比如:“哎,今天會(huì)不會(huì)下雨呢?”因?yàn)樵诤诳臀幕铮瑒e人的回答會(huì)是:“你不會(huì) Google 嗎!”當(dāng)然,在中國(guó)這句話就是:“你不會(huì)百度嗎!”
就像 IRC 里面的人一樣,我不明白他們?yōu)槭裁丛谀抢锩妫路鹚麄兾ㄒ坏臉?lè)趣就是告訴別人“你不該問(wèn)這個(gè)問(wèn)題”,“你浪費(fèi)了我的時(shí)間”。當(dāng)這種現(xiàn)象普及到更廣的社會(huì),你知道會(huì)有什么結(jié)果嗎?任何人都不要再對(duì)任何人說(shuō)話了,因?yàn)檎f(shuō)話全都是浪費(fèi)時(shí)間。
“你不該問(wèn)這個(gè)問(wèn)題”這種說(shuō)法是非常大的攻擊行為,它是人類良好社會(huì)關(guān)系的殺手。其實(shí)對(duì)別人“該不該問(wèn)這個(gè)問(wèn)題”的“考慮”本身就是一個(gè)錯(cuò)誤。我們甚至不應(yīng)該說(shuō)“你可以問(wèn)這個(gè)問(wèn)題”,因?yàn)槟菓?yīng)該是不言而喻的,想都不用想。
任何人都允許問(wèn)任何問(wèn)題并不等于會(huì)浪費(fèi)你的時(shí)間,因?yàn)槟悴⒉皇潜仨毣卮鹈恳粋€(gè)問(wèn)題。所以我的做法總結(jié)下來(lái)就是一句話:我誓死捍衛(wèi)你問(wèn)問(wèn)題的權(quán)利和尊嚴(yán),但我不一定要回答你。比如在 IRC 聊天室,如果遇到有很初級(jí)的問(wèn)題我懶得回答或者太忙,我不吭聲就是了。我對(duì)問(wèn)問(wèn)題的人沒(méi)有任何反感,我只是等其他人去回答他。但是“你不會(huì) Google 嗎!”肯定是非常不禮貌的做法。
你問(wèn)我,所以你懂的沒(méi)我多
子貢問(wèn)曰:“孔文子何以謂之文也?”子曰:“敏而好學(xué),不恥下問(wèn),是以謂之文也。”
可不要被孔老二誤導(dǎo)了!在黑客文化里,這種不恥下問(wèn)的行為是相當(dāng)危險(xiǎn)的。一次可能還好,多幾次之后,我看你不被當(dāng)成傻b菜鳥(niǎo)才怪。
希望你向我們學(xué)習(xí)
進(jìn)了新的黑客公司很興奮哈?可是發(fā)現(xiàn)代碼里有不大好的地方怎么辦呢?如果吭聲,立即討人嫌。如果不吭聲,那就等于承認(rèn)了我們的代碼是“模范”咯。跟著學(xué)吧,小弟。要學(xué)像哦!
這就是我們的作法
我們剛從某大公司挖來(lái)一個(gè)世界級(jí)高手。結(jié)果他對(duì)我們引以為豪的一段代碼提出了異議,說(shuō)那是 premature optimization,思路不清晰。切!
雖然他是世界級(jí)的高手,可我們才是這里的地頭蛇,所以我們得告訴他:“這就是我們的作法!”
結(jié)束語(yǔ)
上面的小片段,估計(jì)在你自己的生活中已經(jīng)出現(xiàn)過(guò)很多次了吧?它們也在我的生活中出現(xiàn)過(guò)很多次。不同的學(xué)校或者公司,有可能出現(xiàn)其中的幾種或者全部。其實(shí)哪里來(lái)的什么“黑客文化”?文化就是文化,管你做什么工作。不要忘了黑客不過(guò)是一種工作,跟醫(yī)生,律師,廚師,教師一樣的。所謂黑客文化只不過(guò)是為一些人的各種無(wú)理怪癖找借口,搞特殊化。
按照以上標(biāo)準(zhǔn),我不認(rèn)為自己是個(gè)黑客。我是一個(gè)計(jì)算機(jī)科學(xué)家,我按照幾百年來(lái)國(guó)際通用的禮節(jié)行事。計(jì)算機(jī)科學(xué)家與黑客的區(qū)別在于他不只按照工具的手冊(cè)來(lái)完成規(guī)定的任務(wù)。他經(jīng)常記不住別人設(shè)計(jì)的復(fù)雜工具如何使用,因?yàn)樗救耸且粋€(gè)更好的設(shè)計(jì)師。他審視這些工具的設(shè)計(jì)合理性,發(fā)現(xiàn)蹩腳的地方,然后構(gòu)思更好的設(shè)計(jì)方案。他總是嘲笑和自嘲,我們其實(shí)仍然生活在計(jì)算機(jī)的石器時(shí)代。
在自己的公司里,我希望創(chuàng)造一個(gè)更加人性化的氛圍,而不是宣揚(yáng)所謂的黑客文化。讓所有人無(wú)論男女,無(wú)論水平如何都身心舒坦,受到尊重,可以談天說(shuō)地,不恥下問(wèn)。