以Dijkstra的名义

http://appleshow.cc/blog/jessy/archive/2006/04/20/744241.aspx

上世纪50年代,某天午后,荷兰阿姆斯特丹大学。

犹豫彷徨的Dijkstra鼓起勇气向他的导师询问,他到底是应该放弃理论物理学位的攻读全心成为一个“程序员”,还是应该放弃为计算机编程而努力成为一名理论物理学家。和导师几个小时的交流后,Dijkstra满意地从导师办公室出来,他要向全职“程序员”发展。于是,计算机发展史上就有了Dijkstra最短路径算法,有了“goto语句是有害的”这样的文章。

要知道在当时,根本还没有程序员这个职业,在Dijkstra结婚时,婚姻登记处拒绝在“职业”一栏填“程序员”(因为他们认为没有这个职业:)。不过万幸Dijkstra的导师告诉他,虽然现在还没有程序员这样的职业,但是你可以努力让这个职业成为令人尊敬的职业。当然,后来Dijkstra也是那么做的,他和其他老一辈计算机科学家一起,把信息技术发展成为了现今社会最重要的基础支撑技术之一。

Dj让我知道现实问题的复杂和保持一种谦卑态度的重要性。在面对需要解决的问题时,一个优秀的程序员懂得他能解决的复杂情况是有限的,所以要尽量保持一种谦卑的态度去解决问题,然后避免那种“聪明的技巧”。在回忆自己的操作系统开发经历时,Dijkstra说:“我当时感到很担心,因为我面对的是一台还没有生产出来的机器,并且它还是硬实时中断的,这意味着你不可能调试到每种情况。”。不过后来伟大的Dijkstra还是成功地开发出了那个操作系统,佩服的紧啊!

无知的我被Java,.NET等如浮云般的高层技术蒙蔽了双眼,曾经以为编程不过如此。看了Dijkstra前辈这番话语,心里透彻了许多,“When we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming had become an equally gigantic problem.”。是啊,现在计算机性能越来越强大,作为控制机器的程序员的我们,是否也具备了掌控这强大性能的能力呢?这个问题值得探讨,不过我想最基本的一条是我们应该不断学习掌握新的知识,特别是算法和计算机体系结构这种知识(J2EE/.NET都素那浮云)。

Dijkstra是我的偶像,虽然我还未在编程领域登堂入室,但是我庆幸能和这样伟大的人物是同行。我要努力使自己成为一个合格的、优秀的程序员,以Dijkstra的名义。

以Dijkstra的名义》有2个想法

  1. lensoft

    搂主真巧! 前两天在读“离散数学”的时候 有介绍过这个大师,好像说的是一个图的“最短路径”算法,那个老师还特别说他获得过“Turing”奖,计算机学科中最高奖项

发表回复