花了两个星期写了一个分布式版本控制系统:牛人是怎样的一种概念

今天在和同事聊天时,我惊叹到,Linus花了2个星期写了git,按照外国人的作息习惯,前后也就不过几十个小时而已,他到底是怎么做到的?于此同时,我想到了UNIX的诞生,Ken Thompson和夫人去度假,一个月左右的时间写出了UNIX的原型,而他们那时的年龄,也很年轻。

在开发这个领域,我已经四五年了,却仍旧觉得自己所掌握的技术鳞毛凤角,我自己写一个极其简单的主题,也花了半个来月,而这些顶尖的程序员们,是怎么做到在那么短的时间完成如此精妙的作品?切勿说去思考系统的逻辑细节,就论码代码的时间,也不仅限于此啊。同事一句话说的似乎很有道理,他说:对尖端程序员来说,写代码需要灵感,灵感来了,挡都挡不住。

Linus被迫要开发一个版本控制系统的时候,和社区的小伙伴讨论:这个系统要有什么特性呢?速度要快!好的。分布式!好的。大规模代码性能不减!好的……额,还有……等一下,我已经把前面的特性实现了,还有什么?

!!!

Linus喝了口自己现磨的咖啡,一边十指在键盘上游走,一边转过脸和来访的朋友说话,“嘿,Linus,最近在干嘛?”“你瞎么,没看到我在写代码。”又要写个什么鬼?”“一个版本控制系统,要速度快,搞得定大规模项目代码,还要分布式!”“靠,这么牛叉!什么时候开始写的?”“两个星期前。”“听起来好像要写很久。”“不,我已经写完了,要不要过来试试爽爽!”

!!!

一口盐汽水喷了一地,大牛就是这样,谈笑间代码已经写完了。在他们的脑海里,根本没有语法、算法、BUG的限制,就像我们走路呼吸一样,程序对于他们而言,完全是无障碍的一种表达形式,就像我们做一场梦、喝一杯水一样,所需要的,仅仅是时间流逝。

他们是出于兴趣、职业?还是渴望、梦想?我想都不是吧。或许更多,他们出自有些东西自己不出马别人搞不定,只好花点时间不磨咖啡、钓鱼、享受生活了。在我所有接触过的人里面,未曾见过这样坦然,坐下来谈笑风生间写一个令人尖叫的程序。

中国的程序员为什么都在脸上写着苦逼两个字?我想更多的原因是真正有望成为牛逼的程序员,没有足够的钱刁刁的喝着咖啡写代码,而不得不为俗世折腰。当然,也不排除,彼人境界太高,我等凡夫俗子达不到。

2015-11-26 23:10:21