Just a few weeks ago, two giants of the computing industry passed away within a few days of one another after long illnesses – Dennis Ritchie and Steve Jobs. Under Jobs' driven and focused leadership at Apple, his company changed the face of personal computing, portable entertainment, and mobile phones.
Working quietly and collaboratively at Bell Labs for most of his life, Ritchie was the creator of the C language (with Brian Kernighan) and co-developer of UNIX—the building blocks by which Jobs' engineers, and more generally embedded systems developers, are able to build today's pervasively connected computing devices.
As the co-developer of UNIX, the concepts Ritchie and Ken Thompson (now at Google) created live on in most current general-purpose and embedded OSes, including open source Linux. As the creator of C, Ritchie is responsible for much of what comprises embedded systems design, both hardware and software. C is the basis of nearly every programming and scripting tool and language embedded developers use, whether they incorporate elements of C's syntax or not, including Java, C++, Objective C, JavaScript, and Verilog. Even the load-store RISC architecture owes quite a bit to C. When the first RISC processors were being designed with the aim of efficiently processing high level programming languages, it was to C – and its compilers—that RISC developers looked for direction.
As the many design articles that appear on Embedded.com or in ESD Magazine regularly indicate, using C effectively requires a lot of care and feeding on the part of the programmer. But, as the many projects in which it has been used will attest, the effort is worth it. When using C or thinking of moving on to another language, programmers should remember what Ritchie himself said: "C is quirky, flawed, and an enormous success." And what he said about UNIX might also equally apply to the C language: "UNIX is very simple, it just needs a genius to understand its simplicity."
Dennis Ritchie's legacy may not end with these contributions. Still to be evaluated will be the impact of the last major projects with which he was involved: The Plan9/Inferno Distributed OS and the Limbo distributed programming language. Tellingly, one company that has paid close attention to everything developed by the team he worked with at Bell Labs is Google. Its new Go programming language draws upon both C and Limbo and is designed for use in today's distributed computing environment.
文章评论(0条评论)
登录后参与讨论