Dennis M.Ritchie – The father of the “C” programming language

Dennis Ritchie

Dennis Ritchie, the man behind the scenes who create the “C” programming language or as they call him “Father of the C programming language”. Richie was born on September 9, 1941 in Bronxville, New York. His father Alistair Ritchie, was a switching systems engineer at Bell Laboratories. Dennis was later moved to Summit, New Jersey with his family. Dennis graduated from Summit High School, then got a bachelors degree from Harvard University in Physics and Applied Mathematics field in 1963, and a PhD in Mathematics in 1968 from Harvard University. He moved later to the Massachusetts Institute of Technology.

Dennis is a key developer of the UNIX operating system, and co-author of the book “The C Programming Language”. He worked along with Ken Thompson (A scientist who wrote the original UNIX). Later he developed a collaboration on the C programming language with Brian Kernighan and they were known together as K&R (Kernighan & Ritchie). Dennis Ritchie had an important contribution to UNIX which was that UNIX ported to different machines and platforms. His ideas still live on, at the center of modern operating systems design, in almost all new programming languages, and in every bit of open systems. 

Ritchie’s Career

Richie started his carrier in 1967, as he started to work at the Bell Laboratories – Computing Sciences Research Center (One of the most famous centers of digital innovation in the world at that time and the birthplace of the transistor).

Jeong Kim, President of Alcatel-Lucent Bell Labs, said:

“Dennis was well loved by his colleagues at Alcatel-Lucent Bell Labs, and will be greatly missed. He was truly an inspiration to all of us, not just for his many accomplishments, but because of who he was as a friend, an inventor, and a humble and gracious man. We would like to express our deepest sympathies to the Ritchie family, and to all who have been touched in some way by Dennis.”

The UNIX

At Bell Laboratories, Ritchie worked on the Multics project. Multics was an operating system which could replace the idea of batch processing with interactivity (Programs were running one at a time from a cards stack by an operator and the programmer or user themselves had full control during the writing of a software). Dennis met there Ken Thompson, who later became one of Ritchie’s main collaborators.

“One of the obvious things that went wrong with Multics as a commercial success was just that it was sort of over-engineered in a sense. There was just too much in it.”

— Dennis Ritchie

Bell Laboratories stopped working on Multics, Ritchie and Ken decided to not abandon the ideas of interaction and collaboration and they began to work on a successor, called UNIX. That modern operating system (UNIX) spread within Bell Laboratories and later was announced to the world in 1973.

The C Programming Language Development

Computer hardware design in the 70’s had many variations and experimentations which reflected badly on software writers’ life as they had to either spend more time and energy recreating their software for each new platform or limit their programs to run only on one particular platform.

The original UNIX kernel was written in the assembly language, but Ritchie and Ken decided that they need a higher level language, to give them more control over all the data which spanned the operating system.

Richie and Thompson used BCPL (Basic Combined Programming Language) to write UNIX by squeezing it into 8 kilobytes and renamed it “B”.

Ritchie responded to that problem by designing a new computer language, called “C” as an upgrade of the “B” language by adding data types and new syntax to it. “B” was an interpreted language that was executed by an intermediate piece of software running over CPU, but “C” was a compiled language translated into machine code, and then executed directly on the CPU.

“UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity.”

— Dennis Ritchie.

“C” was able to easily and quickly move between different hardware. Software that were written in “C” language could run with little or even no modifications on any device that could run “C”.

“C” used very few syntax and little instructions, but it was extremely modular and structured. Because of this “C” was easy to use in different computers. There were huge blocks of “C” functions which were already written and programmers could copy the whole code into their own software without any need to start from scratch, making it easier and faster to implement. Such functions blocks were easily accessible and available in libraries, so programmers could access them.

Ritchie and Ken rewrote the UNIX in the “C” language and they could give UNIX the portability option as well as they gave programmers the chance to learn one operating system, one programming language, and some set of tools. Only one side effect that UNIX later became a natural place for experiments and inter-networking between various systems.

“Obviously, the person who had most influence on my career was Ken Thompson.”

Dennis Ritchie.

In 1978, The C Programming Language book was published by Dennis Ritchie and Brian Kernighan. The book covered a brief definition of the C Language and a peerless introduction to different styles and techniques of programming in C. This book remains an inspiration reference and practical guide to programmers till now.

By the middle of the 1980, “C” language became one of the most popular programming languages in the world. Because of the functionality and speed with which “C” could be easily used to write software and run them, many companies started to use “C” to develop their own applications.

The C programming language is still being universally used nowadays as the second most popular programming language in the world in application systems, operating systems, and embedded systems development, and its influence is still seen in most modern programming languages. Also UNIX influences in establishing concepts and principles which are now computing precepts.

“C was already implemented on several quite different machines and OSs, UNIX was already being distributed on the PDP-11, but the portability of the whole system was new.”

— Dennis Ritchie.

The last important technical contribution that was made by Dennis Richie to UNIX was the Streams Mechanism which was used for interconnecting devices, applications, and protocols.

Windows, Mac, and Linux

UNIX and C’s spiritual descendants are hard to be counted, but they respectively include Linux, Android, Mac OS, iOS, JavaScript, C++, and many more that are used in internet technology and by world full of software developers.

Numerous amount of applications were and still are written in “C” language and its object oriented successor C++. “C” was standardized by ANSI and ISO, that’s why it was multi-purpose and becomes in almost every aspect of the computing industry today.

As example, languages which came later (such as C++ and Java) were derived from the “C” language, Browsers’ codes are all written in C. Also Microsoft Windows was initially written in “C”. Even Both of Apple’s Operating Systems (MAC OSX and iOS) are based on UNIX system.

There is no doubt that Dennis Ritchie’s contributions on the computing industry has significantly altered the core of the history of computing industry.

The kind of programming that C provides will probably remain similar absolutely or slowly decline in usage, but relatively, JavaScript or its variants, or XML, will continue to become more central.

— Dennis Ritchie.

Ritchie later became the head of Systems Software Research Department at Lucent Technologies, and was striving to make computers work better and more easily for users till his retirement in 2007.

Personal Life vs Professional Life:

Dennis admitted that his personal life and his professional life were mixed together as he stated in an interview:

“I’ve done a reasonable amount of traveling, which I enjoyed, but not for too long at a time. I’m a home-body and get fatigued by it fairly soon, but enjoy thinking back on experiences when I’ve returned and then often wish I’d arranged a longer stay in the somewhat exotic place.”

Awards:

Over those years, Dennis Ritchie has received numerous awards, including:

  • The ACM award for the outstanding paper in systems and languages in 1974.
  • The IEEE Emmanuel Piore Award in 1982.
  • Bell Laboratories Fellow in 1983.
  • The Association for Computing Machinery Turing Award in 1983.
  • The ACM Software Systems Award in 1983.
  • He was nominated to the United States National Academy of Engineering in 1988.
  • IEEE Hamming Medal in 1990.
  • Fellow of the Computer History Museum in 1997.
  • The United States National Medal of Technology from President Bill Clinton for his co-inventing UNIX operating system and the C programming language In April of 1999.
  • Achievement Award from Industrial Research Institute for his valuable contribution to science and technology in 2005.
  • Japan Prize for Information and Communications for UNIX operating system development in 2011.

All of awards that Dennis Ritchie received were in conjunction with Ken Thompson.

Richie’s Death:

Dennis lived alone at his home in Berkeley Heights, New Jersey, later he was found there dead on October 12, 2011. The cause and exact time of his death are unknown.

He spent several years in frail health following treatment for prostate cancer and heart disease.

He died a week after death of Steve Jobs but he did not receive as much media coverage as Jobs.

The Fedora 16 Linux Distribution, was released and dedicated to his memory in 2012.

Paul E. Ceruzzi, Computer historian, stated on Dennis Ritchie’s death:

“Dennis Ritchie was under the radar. His name was not a household name at all, but… if you had a microscope and could look in a computer, you’d see his work everywhere inside.”

Dennis Ritchie Computational View

“I think the Linux phenomenon is quite delightful, because it draws so strongly on the basis that UNIX provided. Linux seems to be among the healthiest of the direct UNIX derivatives, though there are also the various BSD systems as well as the more official offerings from the workstation and mainframe manufacturers.”

— Dennis Ritchie

Rest in peace Dennis Ritchie. We miss you.