科学巨匠Ritchie和他创造的C语言

这个星期早些时候,C语言之父Dennis Ritchie(dmr)由于长时间患病去世了。他是C语言的创造者和数个操作系统的关键开发者。虽然他的患病不是什么新闻,但是辞世的消息仍令很多人感到很惊讶。几个月之前,我到他家试图做一个访谈。虽然我知晓他患病的事,但是他的助理人和蔼的表示Ritchie已经感觉好多了,我需要晚些时候才能通过电话和他交谈。

很多人清楚Ritchie希望避开人们过度关注他在计算领域所作贡献,可能使这个原因,他经常拿自己的发明甚至是计算研究中很特别的发现开玩笑。他曾说:“C语言是一个古怪的、有很多缺陷的同时又很成功的语言。”对UNIX,他也说过“这是一个非常简单的操作系统,但是他需要遇到一个能理解它简约特点的天才来赏识它。”

谦逊的背后,Ritchie具有超乎常人的创造力。C语言在70年代出现伊始,就因语法的简洁性成了很多语言的语法标准。现在最有名的10大编程语言中,8种语法规范直接来源于C(包括C语言本身)。没有任何一种语言能向C这样能受人喜爱这么长时间。毫无疑问的是C语言的成功源于Ritchie直观的表现一个操作系统语言的设计理念。在设计中,他的合作者Ken Thompson也给了他很大的帮助。

在我最近对Thompson的采访中,他谈了曾经利用Ritchie的研究成果进行改写UNIX的经过。他说:“C语言随着款操作系统地改写成熟起来,成了编写系统地有力工具。我们当时每天都在制作UNIX遇到困难时将各自的研究做出相应的改动,使之符合我们的需要。”

很多人不认为C语言的语法是完全有Ritchie和Thompson编写,他们认为C是BCPL的衍生作品。但是实际上,BCPL是一种完全不同于C的语言,很多现在C的常用语法结构BCPL都没有。Ritchie编写的《C语言程序设计》(K&R book)至今仍被很多人看作非常使用的C语言工具书,“hello ,word”这句编程语言上很有名的例子就出自这本教材。