Remembering Dennis Ritchie: Six Years Since His Passing

(Click the public account above to follow quickly)

【Introduction】: Unknowingly, it has been six years since Dennis Ritchie left us. On October 12, 2011, Rob Pike, a colleague who worked with Ritchie for over 20 years, visited him in New Jersey from California, only to find that he had passed away. Due to living alone, the exact time of death was unknown at the time, but it was later confirmed that he died on October 9. According to his brother, Ritchie’s health had been poor in recent years, suffering from prostate cancer and heart disease.

Remembering Dennis Ritchie: Six Years Since His Passing

Both Steve Jobs and Dennis Ritchie passed away in the same month and year. However, during this time each year, many media outlets commemorate Jobs, but Ritchie is rarely mentioned.

【Revisiting an old article in memory】

If it weren’t for Dennis Ritchie, we wouldn’t have the modern computing we know today. He is the father of the C programming language and a co-inventor of the UNIX operating system. Six years ago, we lost two individuals who had a tremendous impact on the industry.

Remembering Dennis Ritchie: Six Years Since His Passing

(In fact, the father of Lisp, John McCarthy, also passed away in October 2011, on October 24.)

Undeniably, Jobs brought us unprecedented innovations and iconic products, along with a large number of fervent consumers and end-users who idolized him. Such things may never be seen again.

Although I have documented opinions about Jobs and his company, when he passed away, I, like many in the industry, expressed my respect and recognition of his influence.

However, the “magical” products created by Apple, Jobs, and many other companies, as well as everything we now understand and write in modern computing, owe their existence to Dennis Ritchie, who passed away on October 12, 2011, at the age of 70.

Who is Dennis Ritchie?

Ordinary young people might shake their heads. Who is Dennis Ritchie?

Dennis Ritchie is not like some billionaire from Silicon Valley, dressed in a simple black turtleneck, demonstrating new cool products in a room full of fans while attacking competitors.

No, Dennis Ritchie was a somewhat disheveled computer scientist, sitting in a messy office wearing a wool sweater.

Remembering Dennis Ritchie: Six Years Since His Passing

Unlike Jobs, who dropped out of college, Ritchie graduated from Harvard University with a Ph.D. in physics and applied mathematics. He worked at AT&T Bell Labs in New Jersey, not in the glitzy Silicon Valley.

Yes, that’s New Jersey, known for the phrase “What exit?” (Note: “What exit?” is a local slang in New Jersey; Garden State Parkway is a north-south highway that runs through the entire state, making it a useful landmark. Locals ask which exit to take to reach a place.)

Given Jobs’ eccentric yet highly creative personality, people often compare him to Edison. I disagree with this comparison because, in reality, we mistakenly view Jobs as a true technical expert and inventor.

One important thing we must realize is that, although Jobs had his strengths and made significant contributions to technology and the computing industry, he was not a technical expert.

He had a keen sense of fashion and industrial design, understood what users wanted, and was a marketing master and salesman. All of these made him a giant in the industry.

But when it comes to being an inventor? No, he was not.

However, Dennis Ritchie invented and co-invented two key software technologies that form the DNA of every software product we use today, directly or indirectly. It sounds unbelievable, but it is true.

First, let’s start with The C Programming Language

The C language was developed by Ritchie from 1969 to 1973 and is considered the first truly portable modern programming language. Since its inception nearly 45 years ago, it has been ported to almost every system architecture and operating system that has ever existed.

As a command-based, compiled, and procedural programming language, it allows for variable scope and recursion in syntax, low-level memory access, and complex I/O and string manipulation capabilities, making it quite versatile.

Ritchie and Brian Kernighan optimized it to some extent, and it was further refined into the ANSI C programming language by the X3J11 committee of the American National Standards Institute in 1989.

In 1978, Kernighan and Ritchie co-authored the book “The C Programming Language.” This book, often referred to as “K&R C,” is a masterpiece of computer science and a key reference for explaining modern programming concepts. Even today, it remains a classic textbook for learning programming in computer science courses.

To this day, ANSI C is still widely used as a programming language, and it has spawned many sister languages, each with a significant following.

The most popular, C++, was invented by Bjarne Stroustrup in 1985, adding support for object-oriented programming and classes, and is used across various operating systems, including UNIX derivatives like Linux and Mac, serving as the primary programming language for Microsoft Windows software development for over 20 years.

Objective-C, invented in the 1980s by Brad Cox and Todd Love of Stepstone (the predecessor of Lumesse), added Smalltalk messaging capabilities, further expanding the object-oriented and code reuse features of the language.

Objective-C was largely considered an obscure derivative of C until it was widely used in the NeXT computer systems’ NeXTStep and OpenStep operating systems in the late 1980s and early 1990s, after Jobs founded NeXT following his ousting from Apple in 1985.

What happened next is a legendary tale in the computing field. NeXT was acquired by Apple in 1996, and Jobs returned to Apple as CEO in 1997.

In 2001, Apple released Mac OS X, which heavily utilized Objective-C and the object-oriented technologies introduced by NeXTStep and OpenStep.

As C++ was also widely used on the Mac, Objective-C was employed to write the native object-oriented “Cocoa” API under XCode IDE, which is core to gesture recognition and animation features on iOS, greatly enhancing the functionality of the iPhone and iPad.

Objective-C also provided the Foundation Kit and Application Kit for building native OS X and iOS applications.

Microsoft also has its own C language derivative—C# (pronounced “C Sharp”), invented in 2001 as the programming foundation for the .NET framework.

C# is also the basis for writing modern applications based on Windows Runtime (WinRT), which evolved into the unified Windows platform (UWP, Universal Windows Platform) on Windows 10. As a programming environment for developing Mono (a portable version of the .NET framework), it is also used on Linux and other Unix derivative systems.

However, the influence of the C language is not limited to its derivatives. Java, an important enterprise-level programming language, is largely based on C language syntax (which has also evolved into Dalvik and Android Runtime, the fundamental programming environments for Android).

Other languages such as Ruby, Perl, and PHP, which form the foundation of the dynamic modern web, also utilize the C language syntax invented by Dennis Ritchie.

So, without Dennis Ritchie’s work, we would not have modern software at all.

Besides C, he also contributed to UNIX

Discussing the importance of C language to modern computing and its impact on everyone, I could actually end this article here. But I have only covered half of this man’s career.

Ritchie was also a co-inventor of the UNIX operating system. Of course, the prototype of UNIX was written in assembly language and was completely rewritten in C by the early 1970s.

As early as 1969, the first version of “Unics” was booted on a DEC PDP-7, and since then UNIX has evolved into many similar operating systems running on various system architectures.

Every major computer vendor has implemented its own version of UNIX. Even Microsoft once had a product called XENIX, which was later sold to SCO (which no longer exists).

You can see this diagram for a better understanding of this “family.”

Remembering Dennis Ritchie: Six Years Since His Passing

UNIX essentially has three main branches:

The first branch is “System V” UNIX, which includes IBM’s AIX, Oracle’s Solaris, and HP’s HP-UX. These are considered “big iron” operating systems widely used in Fortune 1000 companies, driving critical, transaction-oriented business applications and databases.

Without System V UNIX, those Fortune 1000 companies would not be able to accomplish anything. Business would almost come to a standstill. They may only account for ten to twenty percent of any given company’s computing power, but that twenty percent is crucial.

The second branch is BSD (Berkeley Software Distribution), which includes FreeBSD, NetBSD, and OpenBSD, all of which form the basis of Max OS X and iOS. They are also used to support critical infrastructure backbone, upon which the internet runs.

The third branch is not even considered a branch—GNU/Linux. The Linux kernel (developed by Linus Torvalds) combined with GNU user space programs, tools, and utilities provides a completely re-implemented “Unix-like” or “Unix-compatible” operating system.

Of course, Linux is also the most disruptive of all UNIX operating systems. From very small embedded microprocessors to smartphones, tablets, and desktop computers, even powerful supercomputers, its presence can be seen.

IBM’s Watson is such a Linux supercomputer that even defeated Ken Jennings in the spotlight of “Jeopardy!”.

But we must recognize that Linux and GNU do not contain any UNIX code—hence the recursive phrase of free software, “GNU’s not UNIX”. (Note: GNU stands for “GNU’s Not UNIX”, and the phrase can be recursively expanded.)

However, GNU/Linux behaves very much like UNIX in design, and it can be said that without Ritchie and his colleagues at Bell Labs (Brian Kernighan, Ken Thompson, Douglas McIlroy, and Joe Ossanna) who first developed UNIX, there would be no Linux or any open-source software movement.

In this sense, the Free Software Foundation or Richard Stallman would be pleased to see Jobs gone.

We owe a lot to Dennis Ritchie

Although there are religious and ideological differences, we owe Dennis Ritchie a great deal, far beyond our imagination. Without his contributions, we would not be able to use personal computers, mature software applications, or even the internet.

No Android smartphones, no expensive DVRs and streaming devices, no Jobs and Apple creating amazing Macs and iPads.

No Microsoft Windows 10 and Surface Book.

No cloud computing, no AWS (Amazon Web Services), no Azure (Microsoft Cloud).

No “apps born for XX”, and no such thing as the internet.

Salute to Dennis Ritchie—thank you for the technologies you brought us that allow us to be the experts we are today.

Remembering Dennis Ritchie: Six Years Since His Passing

In 1972, Dennis Ritchie (left) with Ken Thompson in front of a PDP-12

(Photo source: Dennis Ritchie’s homepage)

Related reading: “Media remembers Jobs, but we cannot forget him…

If you feel touched after reading, please share it with more people

Follow “CPP Developers” to enhance your C/C++ skills

Remembering Dennis Ritchie: Six Years Since His Passing

Leave a Comment