他是世人尊称“无形之王”的C语言之父,计算机及网络技术的奠定者;他与“有形之王”乔布斯相继于2011年10月初离世,却远未像乔布斯那样得到全球热捧和隆重悼念。他就是丹尼斯 里奇, 为乔布斯等一众IT巨擘提供肩膀的巨人……
Dennis Ritchie: The Shoulders Steve Jobs Stood on
by Cade Metz
The tributes to Dennis Ritchie won t match the river of praise that spilled out over the web after the death of Steve Jobs. But they should.
“When Steve Jobs died, there was a huge outcry, and that was very moving and justified. But Dennis had a bigger effect, and the public doesn t even know who he is,” says Rob Pike, the programming legend and current Googler who spent 20 years working across the hall from Ritchie at the famed Bell Labs.
With a post to Google+, Pike announced that Ritchie had died at his home in New Jersey over the weekend after a long illness, and though the response from hardcore techies was immense, the collective eulogy from the web at large doesn t quite do justice to Ritchie s sweeping influence on the modern world.
The King of the Invisible
Dennis Ritchie is the father of the C programming language, and with fellow Bell Labs researcher Ken Thompson, he used C to build UNIX, the operating system that so much of the world is built on — including the Apple empire overseen by Steve Jobs.
Even Windows was once written in C, he adds, and UNIX underpins both Mac OS X, Apple s desktop operating system, and iOS, which runs the iPhone and the iPad. “Jobs was the king of the visible, and Ritchie is the king of what is largely invisible,” says Martin Rinard, professor of electrical engineering and computer science at MIT and a member of the Computer Science and Artificial Intelligence Laboratory.
“Jobs genius is that he builds these products that people really like to use because he has taste and can build things that people really find compelling. Ritchie built things that technologists were able to use to build core infrastructure that people don t necessarily see much anymore, but they use every day.”
丹尼斯 里奇是C程序设计语言之父,并和贝尔实验室的研究员肯 汤普森一起用C语言建造UNIX系统。毫不夸张地说,网络上的一切都是以C语言为基础编写与构架起来的——包括乔布斯的“苹果帝国”。如果说乔布斯是“有形之王”,那么里奇就是当之无愧的“无形之王”。
From B to C
Dennis Ritchie built C because he and Ken Thompson needed a better way to build UNIX. The original UNIX kernel was written in assembly language, but they soon decided they needed a “higher level” language, something that would give them more control over all the data that spanned the OS. Around 1970, they tried building a second version with Fortran, but this didn t quite cut it, and Ritchie proposed a new language based on a Thompson creation known as B.
Depending on which legend you believe, B was named either for Thompson s wife Bonnie or BCPL, a language developed at Cambridge in the mid-60s. Whatever the case, B begat C.
B was an interpreted language — meaning it was executed by an intermediate piece of software running atop a CPU — but C was a compiled language. It was translated into machine code, and then directly executed on the CPU. But in those days, C was considered a high-level language. It would give Ritchie and Thompson the flexibility they needed, but at the same time, it would be fast.
At the time, it was an unusual way to write an operating system, and this is what allowed Ritchie and Thompson to eventually imagine porting the OS to other platforms, which they did in the late 70s. “That opened the floodgates for UNIX running everywhere,” Pike says. “It was all made possible by C.”
丹尼斯 里奇创建了C语言是因为他和肯 汤普森需要更好的工具开发UNIX系统。原来的UNIX内核是用汇编语言编写的,但他们需要某种“高级”语言以更多地控制所有涵盖操作系统的数据。在当时,B语言是解释型语言,而但C语言则被认为是编译型语言——高级语言。
Apple, Microsoft, and Beyond
At the same time, C forged its own way in the world, moving from Bell Labs to the world s universities and to Microsoft, the breakout software company of the 1980s. “The development of the C programming language was a huge step forward and was the right middle ground … C struck exactly the right balance, to let you write at a high level and be much more productive, but when you needed, you could control exactly what happened,” says Bill Dally, chief scientist of NVIDIA and Bell Professor of Engineering at Stanford. “It set the tone for the way that programming was done for several decades.”
As Pike points out, the data structures that Richie built into C eventually gave rise to the object-oriented paradigm used by modern languages such as C++ and Java.
Ritchie lived in a very different time and worked in a very different environment than someone like Jobs. It only makes sense that he wouldn t get his due. But those who matter understand the mark he left. “There s that line from Newton about standing on the shoulders of giants,” says Kernighan. “We re all standing on Dennis shoulders.”
从贝尔实验室到全世界的各所大学,再到上世纪80年代崛起的微软公司,C语言逐渐闯出了自己的道路。但是里奇生活时代与所处的工作环境与乔布斯等人截然不同,这样也能更好地解释他之所以没有得到他应得赞誉的现象。但无论时代如何改变,有一点永远都无法否认:我们的网络世界之所以有今天的成就,都源于大家都站在里奇的肩膀上。
本文为高阅读难度的科技或政论文章,或GRE
本文刊于《英语沙龙》,转载请注明出处。(原标题:丹尼斯 里奇:为乔布斯提供肩膀的巨人)