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