您的位置:知识库 » 程序人生

Hacker传说之不能说的秘密

作者: 栖山  来源: 博客园  发布时间: 2010-11-29 20:16  阅读: 1996 次  推荐: 0   原文链接   [收藏]  

  一点说明:之所以叫不能说的秘密,并非因为保守,而是因为告诉一般人,他非但理解不了,还有可能要取笑你。所以有自尊的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),其实也就是一把锄头,每天加班加点,也只是在贫瘠的土地上割点青草吃吃。

  其他的很多秘密,视情况和大家交流。如果你有什么疑问和想法,欢迎留言评论。

0
0
标签:Hacker 程序员

程序人生热门文章

    程序人生最新文章

      最新新闻

        热门新闻