2011-10-22

Hello World

本月12日Dennis Ritchie逝世,相比较乔布斯,他的离开显得冷清,就像他生前处事的风格一样低调,甚至在程序员的圈子内,也似乎没有引起足够的注意。在我眼中,Ritchie是比苹果教主重要的多的大师,这不仅因为我是吃C语言——Ritchie创造的编程语言——这口饭的,而更因为我知道,没有C语言,就没有C++,没有java,没有C#……这些成为软件业主要生产工具的编程语言;没有他和Thompson合力开发的unix,就没有DOS,没有windows,没有Linux,没有Mac OS……这些为各种计算设备所用,改变了我们生活的操作系统。

想我在大学时代啃完一本国产的C语言教材,通过了计算机等级考试后,自以为掌握了这门语法充满陷阱的语言,却又不知道自己究竟能用它来做些什么,而当我翻开那本薄薄的《The C Programming Language》,看到一个极简洁的字符串拷贝函数的例子后,才隐约知道自己对编程,对计算机的掌握处在多么肤浅的程度上。那短短几行代码散发着如同卡尔维诺的文字般轻逸的美,而它们的隽永的指导力量向我印证着之前读者对这本书的评价——C语言的圣经。实际上这本书也是在本书的另一名作者Brian  Kernighan对Ritchie的极力鼓动之下才得以问世的,Ritchie作为创世纪的C语言发明者,荣誉无数的大师,一生保持着隐士般的性格。当有人问Ritchie为什么使用他使用的方式开发了C语言的时候,他回答说“这样做看上去很好”,他说任何人在同一地方、同一时间会像他那样做的。

这样一句谦虚的话,让我感到遥不可及。我处在现在的地方,现在的时间,该做些什么?虽然这里不是贝尔实验室,只是我自己的孤单的小屋,但是我有比那个时代快得多的电脑,我可以连接互联网获取大海一样多的资料,这些不够吗?为什么我得不到神谕?仅仅爬到巨人的肩膀上就看上去如此困难呢?我不够聪明,我不在那个黑客辈出的国度,我没有经过名校的熏陶,我不在充满天才工程师的实验室中……

然而我在做些什么?工作中机械地写着代码,每天从物联网上大量零散的汲取着精神垃圾食品,为钱包忧虑,为爱情忧虑,为未来忧虑,看着16岁天才对房子的忧虑,网民们对国民道德的忧虑,听着朋友的忧虑,家人的忧虑来印证自己的忧虑,在忧虑中忧虑。

是否,所谓的忧国忧民只不过是逃避个人抗争的幌子?你努力做个冷眼旁观者,却看到镜中自己的窝囊样。在对失败的恐惧中,习惯于头脑中否定事情的可能性,而从不动手,逐渐变成大头小手的忧郁生物。

C++的开发者和设计师、里奇在贝尔实验室的同事比雅尼·斯特劳斯特鲁普说:“假如里奇决定在那十年里将他的精力花费在稀奇古怪的数学上,那么Unix将胎死腹中。”

先有原型,再不断完善,实践驱动实践,这是软件开发的朴素真理。而对于人生,只要看看无数嘴上的宏图大业怎样被岁月的灰尘掩埋,就可以明白所谓“理论指导”其实是loser梦呓的豪华精装版。

奇迹的开始是,你在键盘敲下:

include <stdio.h>

main() {

printf("hello world\n");

}

Hello world! Good bye Richie. 我不够聪明,在同样的时间地点大概也做不出同样伟大的事情,但我明白了,只有我敲起键盘,迈出脚步,我才能保持初入世界般的好奇和信心,我的内心和这个世界之间的interface才是畅通的,任何复杂都能一一化解,简单是这个世界的本来面目,也应该是我们心灵要保持的样子。

No comments:

Post a Comment