Skip to content

Dennis Ritchie, creator of C and UNIX

26 mayo, 2021

I am going to continue with the series on personalities related to software development talking about one of the heavyweights of the world. We owe him so much that I don’t know where to start. Surely I will not do you any justice and many data will be highly inaccurate, I hope you forgive me. Today I will talk about Dennis Ritchie, Creator of C and UNIX.

Dennis MacAlistair Ritchie He was born on September 9, 1941 in Bronxville, a small town of about two thousand inhabitants located about 25 kilometers north of Manhattan, New York. He graduated in 1963 from Harvard University with honors in physics. Received a Research PhD in 1968 applied mathematics. He entered the AT&T Bell Laboratories Computer Science Research Center in 1967 following in the footsteps of his father, Alistair E. Ritchie, who had a long career there.

In 1968 he joined the development team for the Multics operating system (Multiplexed Information and Computing Service) where he worked alongside a multitude of legends programming and systems architecture such as Fernando J. Corbató or Peter James Denning. Although if Dennis Ritchie is famous for something, it is for being the creator of the C programming language.


UNIX development and the need for C

There is no doubt that C is the most common programming language. popular and famous of all time. C is an imperative programming language for systems implementation. Although being so popular, countless applications have also been developed with it. C presents facilities for structured programming, allows variable lexical scope and recursion, in addition this strongly type-oriented with a static system that prevents unwanted operations.

As noted above, Ritchie joined the Multics development group in 1968, by then the Bell Labs were quite frustrated due to the serious problems that Multics presented and little by little they were displacing the project. The last researchers to abandon the project, decided to rewrite all the work right from the start and on a smaller scale. Among those researchers were Dennis Ritchie and Ken Thompson – to which we will dedicate a few lines in the future.

Ritchie was convinced to create an operating system on which he could develop a community as he fervently believed in the communal computing in which close communication between people through remote accesses was necessary.

Since Ken Thompson still had access to the Multics environment, he wrote a simulator for the new filesystem and paging on it. He also programmed the famous game Space travel, but the game required a cheaper and more efficient machine to run on, so it was first ported to FORTRAN on a GECOS system and finally ported by Dennis Ritchie and Ken Thompson to the assembly language of a PDP-7 machine.

It was in the process of porting the FORTRAN code into PDP-7 assembly language that Thompson and Ritchie wrote the underlying code that eventually became the original UNIX operating system. Together with Rudd Canaday they developed a hierarchical file system, the concepts of execution process and device files, a command line interpreter and some applications and utilities. Many consider Space travel What the first application UNIX system.

In 1970 the development team led by Dennis Ritchie and Ken Thompson needed to migrate the system to a more powerful platform and set their sights on the PDP-11/20. And the UNIX programmer’s manual came out on November 3, 1971. In 1972 and against all reason, UNIX was ported to the C programming language contrary to the general idea of ​​the time that “something as complex as an operating system, which had to deal with events at critical times, had to be written entirely in assembly language.”

However, porting the UNIX source code to a higher level language such as C, resulted in a code much more portable that required minimal code changes when UNIX was ported to another platform, which seemed like it was going to be more and more common. The inability of the B programming language to use the advantages of the PDP-11 machine, especially byte addressing, led Ritchie to develop the first version of C.

The first version of UNIX for PDP-11 was completely written in assembly language, but when the early versions of C already supported struct types, most of the UNIX kernel was ported to C. The UNIX kernel thus became one of the first kernel operating systems written in something other than assembly language alongside Multics and MPC.

K&R C

In 1978, Brian Kernighan – to which we will also dedicate a few lines later – and Dennis Ritchie published the first edition of The C programming language. The book soon became known in the community as K&R C or C for Kernighan and Ritchie and was used for many years as a informal specification of language before the appearance of ANSI C.

Kernighan and Ritchie’s C had some peculiarities, such as that functions that did not return a value type other than an integer did not have to be previously defined with a prototype. So for example this syntax was valid in K&R C but not in ANSI C:

main() {
...
}

In 1983, Ritchie and Ken Thompson jointly received the Turing Prize for the development of the generic theory of operating systems and specifically for the implementation of the UNIX operating system. Ritchie named his lecture at the Turing Prize “Reflections on Software Research.”

Ritchie was elected to the National Academy of Engineering in 1988 by the development of the C programming language and joint development of the UNIX operating system. In 1990, both Ritchie and Thompson received the medal IEEE Richard W. Hamming of the Institute of Electrical and Electronics Engineers (IEEE) for “originating the UNIX operating system and the C programming language”

On April 21, 1999 Ritchie and Thompson jointly received the National Medal of Technology 1998 from President Bill Clinton by the joint invention of the UNIX operating system and the C programming language that together have led to tremendous advancements in hardware, software, system networks, and spurred the growth of an entire industry, thus enhancing the American leadership in the information age. These Yankees are very much yours.

This same year, Ritchie and Thompson have been awarded the Japan Information and Communication Award for pioneering work in the development of the Unix operating system.

Life after UNIX and C

In 1990 Ritchie was appointed boss from the Software Research Department at the Bell Laboratories Research Center in Murray Hill, New Jersey. In 1996 he was appointed director of development for the creation of the operating system Plan 9 successor to Unix in Bell – about which we will also talk one day:) -. In 1996 he began to direct efforts to create the Inferno operating system, a distributed operating system that runs on top of another operating system through a virtual machine.

The Plan 9 operating system is based on a Hybrid kernel and not in a Monolithic one like Unix.

About Dennis Ritchie

If it weren’t for Dennis Ritchie and Ken Thompson, UNIX would never have existedTherefore, there would have been no BSD, or Solaris or Minix and much less Linux, there would not be Mac OS X. And if it weren’t especially for Dennis Ritchie, there would not be C, there would not be many concepts that in their day they broke schemes Through their innovative vision and they became the ABC of the theory of operating systems, so it would be difficult if systems such as Windows, PlayStation, or PCs would have existed today. Without C many other languages ​​that were based or inspired by C either would exist today and to name just a few:

  • C ++
  • C #
  • Objective-C
  • D
  • Java
  • JavaScript
  • Limbo
  • Perl
  • PHP

And of course, none of the languages ​​based on the few in the list above would exist either. If there is anyone to be especially thanked for their hard work and dedication, it is undoubtedly Dennis Ritchie.

In Genbeta Dev | Personalities
More information | UNIX history