|
一點(diǎn)說明:之所以叫不能說的秘密,并非因?yàn)楸J兀且驗(yàn)楦嬖V一般人,他非但理解不了,還有可能要取笑你。所以有自尊的Hacker往往只傳自己信得過的人,以免自討沒趣。于是很多東西就逐漸成為了不能說的秘密。所以這個Hacker傳說系列也是一個嘗試,僅供參考。
一個Hacker相對于程序員來說有著超過100倍的驚人效率。并非是由于他們的智商超過一百倍。而在于他們掌握了程序員沒有掌握的"魔法"。
重量級秘密之一:Hacker的編程方式往往和普通程序員都是相反的。
Hacker的思維和工作流程都采用“以我為主"的指導(dǎo)原則。而程序員都是采用“以電腦為中心“的方式。
以一個最簡單的例子來說,程序員喜歡使用IntelliSense,利用電腦幫助選擇api,而Hacker會把大多數(shù)的api熟記在心。也許你會說這個怎么能記住呢?其實(shí)絕對是可以的, 只是沒有人和我們強(qiáng)調(diào)這個看上去簡單之極的方法。
我們拿英語為例,一般來說掌握英語至少需要記住5000個單詞,其實(shí)編程和寫文章沒有什么兩樣,api就如同英語單詞一般。如果我們一邊寫文章,一邊要查字典,不但效率低,而且文章質(zhì)量差。而所謂的IntelliSense只不過把紙質(zhì)字典換成了快譯通而已。
當(dāng)一個Hacker編程的時候,他腦中已經(jīng)迅速的用單詞(api)組織成為文章(program),自然就效率奇高了。那么記住api很難嗎?其實(shí)很容易,因?yàn)楹芏郺pi都是要天天用的,一個程序員如果一年編程下來還不能背出80%的api,那么智商就在平均水平以下了。
但是事實(shí)是大多數(shù)程序員記不住api,這就是IntelliSense惹的禍了,看似很方便的鼠標(biāo)一點(diǎn),卻失去了將api刻寫到腦中的機(jī)會。這也是所有的Hacker對Visual Studio不屑一顧的根本原因。當(dāng)我們看到一個Hacker用文本編輯器來寫程序的時候,其實(shí)他不是在耍酷(園子里面的很多朋友把這稱為“裝”),他只不過是用正確的方法來做正確的事而已。
所以當(dāng)你采用微軟模式編程,那么開始會非常快,但是沒有積累,最后只是黃梁一夢而已。而Hacker所使用的Hacker模式, 開始會很慢,然后會越來越快。效率會呈現(xiàn)線性增長(這是親身體會,絕不夸大)。
其實(shí)著名的 Hello World 慣例也包含了這樣的一個隱喻,認(rèn)認(rèn)真真的象寫Hello World一樣“一個字一個字“寫每一個程序,最后自然會成為高手。
還有很多例子,也體現(xiàn)了Hacker“以我為主“的思想。
大量的Hacker都在紛紛轉(zhuǎn)向動態(tài)語言,這是因?yàn)閯討B(tài)語言具有api容易記住的優(yōu)良特性(比如參數(shù)的順序可以是任意,這個可以大大減輕記憶量),因此當(dāng)CPU不再是瓶頸后,動態(tài)語言成了最佳選擇。
大多數(shù)的Hacker都喜歡做底層,因?yàn)榈讓拥腶pi數(shù)量最少, 隨版本的變動最少,所以他們可以用較少的力氣來保持或者增加他們的效率。
所有的Hacker都對微軟技術(shù)很頭痛, 因?yàn)槲④浄浅O矚g推出新的api,因此當(dāng)一個新版本推出,即使一個頂級Hacker,效率也可能會損失50%以上。這會令他們非常抓狂。
即使是.NET之父Anders他也喜歡做底層,他研究的是語言特性,涉及的api不過幾十個而已。如果讓他來寫ASP.NET,效率可能和我們也差不多。
其他的例子還有諸如為什么要用跨平臺,為什么要使用Vim/Emacs,Hacker如何通過大腦來大大減輕眼睛的負(fù)擔(dān),從而能干到60歲,等等涉及很多方面的方法和實(shí)踐,其實(shí)都體現(xiàn)了這個思想。
結(jié)論:Hacker們用一個看似慢,實(shí)則快的可持續(xù)發(fā)展的方式來發(fā)展他們的大腦。他們往往搶占最佳地形,摘得營養(yǎng)最豐富的桃子。而程序員往往用工具商給的所謂高級工具(比如微軟的Visual Studio),其實(shí)也就是一把鋤頭,每天加班加點(diǎn),也只是在貧瘠的土地上割點(diǎn)青草吃吃。
其他的很多秘密,視情況和大家交流。如果你有什么疑問和想法,歡迎留言評論。
it知識庫:Hacker傳說之不能說的秘密,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。