Guest Post by Dr. Wulf Hofbauer, Scientist, Institute of Materials Research and Engineering, A*STAR. (Opinions expressed here are his own and do not reflect any official IMRE/A*STAR position.)
After prolonged illness, a modern-times genius has passed away who broke new grounds in information technology and profoundly impacted the way we use computers.
Dennis Ritchie was born on September 9, 1941 in Bronxville, New York, and died on October 8, 2011 in Murrayville, New Jersey.
After graduating from Harvard University with a degree in physics and mathematics, he joined Bell Labs, a research powerhouse (where previously the transistor was invented) and worked there at the computing science research centre. He is best known as one of the co-inventors of the computer operating system Unix and developer of the programming language C. He was awarded several of the most prestigious technology prizes in the world, including the Turing Award, the US National Medal of Technology, and the Japan Prize for Information and Communications.
Unix is a hugely influential operating system. Originally written around 1970, it still is the basis for much of the computing world today. So straightforward and timeless is the design that almost 30 years later, in the late 1990s, a variant of Unix was the operating system of choice for an ailing computer manufacturer nearing bankruptcy after years of failing to develop a stable, reliable operating system on their own. Today, the same company is one of the richest organisations in the world. Unix or Unix-inspired systems (such as the immensely popular GNU/Linux and BSD family of operating systems) are the operating systems that run supercomputers, workstations, PCs, mobile phones, and most of the internet infrastructure (down to WiFi routers in our homes), and that scientists and engineers turn to for serious computing. (In organisations with centrally prescribed “office PC” computing environments, it is not uncommon for researchers to bring in their own computers running a variant of Unix to get real work done.) The first e-mail and discussion board systems evolved in the Unix world, many years before most people ever heard of the concept.
The history of Unix offers some interesting learning points. In the 1960s, an academia-industry consortium (including MIT, Bell Labs, General Electrics, and later Honeywell) embarked on an ambitious plan to develop an advanced operating system called Multics. With multiple stakeholders and committees, development stalled, and even when eventually released, Multics was a monster system that never really took off. After Bell Labs pulled out of the project in 1969, a small group of frustrated staff started a “skunk works” project, using a semi-abandoned computer, to develop their own operating system – guided not by committees, marketing or business development managers, but by straight thinking scientists and engineers. In a pun on Multics, the system was called Unics. The rest, as they say, is history.
Unix was originally written in assembly code – a primitive type of programming language that is highly efficient, but tedious to use and different for every type of computer. To ease the task of programming and make Unix portable to different computer models, Dennis Ritchie created the programming language C. Today, C is the lingua franca in the computing world, and programs written in C possibly control more devices in the world than any other programming language. The beauty of C is that it lets programmers and engineers express concepts in a straight-thinking and structured way, but at the same time is simple enough to allow for automated translation to highly efficient computer code that can run on supercomputers as well as microcontrollers with only a few dozen bytes (not kilobytes, megabytes or gigabytes) of memory. The influence of C is easily recognisable by a host of derivative languages, and even the vocabulary and grammar of entirely independent languages borrow heavily from the C heritage.
Dennis Ritchie, together with Brian Kernighan, also wrote the first specification and reference manual for his programming language. Written by scientists and engineers, it stands up to this day as one of the most straightforward, accessible technical documents. (Once the C language was so widespread that it ended up in industry standardisation committees, the specification quickly evolved into a hairy mess.)
Dennis Ritchie not only played a significant role in establishing a foundation on which today’s IT-centric world is based, but also is a shining example for what scientists and engineers can achieve when no committees, administrators, or management get in the way.