Commemorating the 6th Anniversary of the Passing of the Father of C Language

(Click the public account above to quickly follow)

[Introduction]: Unknowingly, it has been 6 years since Dennis Ritchie left us. On October 12, 2011, Rob Pike, a colleague who worked with Ritchie for over 20 years, visited him from California to New Jersey, only to find that he had passed away. Since he lived 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.

Commemorating the 6th Anniversary of the Passing of the Father of C Language

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 rarely mention Dennis Ritchie.

[Revisiting an old article in memory]

If it weren’t for Dennis Ritchie, we wouldn’t have modern computing as we know it today. He is the father of the C 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.

Commemorating the 6th Anniversary of the Passing of the Father of C Language

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

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 understand and write about modern computing, can be attributed 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.

Commemorating the 6th Anniversary of the Passing of the Father of C Language

Unlike Jobs, who dropped out of college, Ritchie graduated from Harvard University with a PhD 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, referring to the Garden State Parkway, a north-south highway that runs through the entire state, making it a useful landmark. Locals ask which exit to take to reach a destination.)

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 computer software product, which we are using directly or indirectly today. 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 a certain 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.

Commemorating the 6th Anniversary of the Passing of the Father of C Language

To this day, ANSI C as a programming language is still widely used, and it has spawned many sister languages, all of which have many followers.

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

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

Objective-C is largely considered a lesser-known 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 extensively used Objective-C and the object-oriented technologies introduced by NeXTStep and OpenStep.

As C++ was also widely used on Mac, Objective-C was used 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 and serving 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 Language, He Also Gave Us 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 person’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.”

Commemorating the 6th Anniversary of the Passing of the Father of C Language

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 lot, 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.

Commemorating the 6th Anniversary of the Passing of the Father of C Language

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

Related Reading: [The media remembered Jobs, but we cannot forget him]

Feeling touched after reading? Please share it with more people.

Follow “The Programmer’s Affairs” to improve your programming skills

Commemorating the 6th Anniversary of the Passing of the Father of C Language

Leave a Comment