之所以叫不能说的秘密,并非因为保守,而是因为告诉一般人
一个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/EmacsHacker如何通过大脑来大大减轻眼睛的负担从而能干到60岁等等涉及很多方面的方法和实践其实都体现了这个思想。结论Hacker们用一个看似慢实则快的可持续发展的方式来发展他们的大脑。他们往往抢占最佳地形摘得营养最丰富的桃子。而程序员往往用工具商给的所谓高级工具比如微软的Visual Studio)其实也就是一把锄头每天加班加点也只是在贫瘠的土地上割点青草吃吃。其他的很多秘密视情况和大家交流。如果你有什么疑问和想法欢迎留言评论。