Without Dennis Ritchie, there would be no Jobs

Without Dennis Ritchie, there would be no Jobs

Summary: Modern computing as we know it would not have existed without Dennis Ritchie, father of the C programming language and Co-creator of the UNIX operating system.

SHARE:

In the last two weeks, we have lost two people who had immense influence on our industry.

It is undeniable that Steve Jobs brought us innovation and iconic products like the world had never seen, as well as a cult following of consumers and end users that mythicized him.

The likes of which will probably be never seen again.

I too, like many in this industry, despite my documented differences with the man and his company, paid my respects, and have acknowledged his influence.

But the "magical" products that Apple and Steve Jobs -- as well as many other companies created owe just about everything we know and write about in modern computing as it exists today to Dennis Ritchie, who passed away this week at the age of 70.

Dennis Ritchie?

The younger generation that reads this column is probably scratching their heads. Who was Dennis Ritchie?

Dennis Ritchie wasn't some billionaire meticulous wunderkind from Silicon Valley that mystified audiences with standing room only presentations in his minimalist black mock turtleneck with new shiny products and wild rhetoric aimed against his competitors.

No, Dennis Ritchie was a bearded, somewhat disheveled computer scientist who wore cardigan sweaters and had a messy office.

Unlike Jobs, who was a college dropout, he was Ph.D, a Harvard University grad with degrees in Physics and Applied Mathematics.

And instead of the gleaming Silicon Valley, he worked at AT&T Bell Laboratories in New Jersey.

Yes, Jersey. As in "What exit?"

Steve Jobs has frequently been compared to Thomas Edison for the quirkiness of his personality and inventive nature.

I have my issues with that comparison in that we are actually giving Jobs credit for being an actual technologist and someone who actually invented something.

It is important to realize that while indeed the man was brilliant in his own way and his contributions were extremely important to the technology and computer industries, Steve Jobs was not a technologist.

Indeed, he had a very strong sense of style industrial design, understood what customers wanted, and was a master marketer and salesperson. All of these make him a giant in our industry.

But inventor? No.

Dennis M. Ritchie, on the other hand, invented and co-invented two key software technologies which make up the DNA of effectively every single computer software product we use directly or even indirectly in the modern age.

It sounds like a wild claim, but it really is true.

First, let's start with the C programming language.

Developed by Ritchie between 1969 and 1973, C is considered to be the first truly modern and portable programming language. In the 40 years or so since its introduction, it has been ported to practically every systems architecture and operating system in existence.

Because it is a imperative, compiled, procedural programming language, allowing for lexical variable scope and recursion, and allowing low-level access to memory as well as complex functionality for I/O and string manipulation, the language became quite versatile.

This allowed Ritchie and Brian Kernighan to refine it to a degree which eventually was further refined by the X3J11 committee of the American National Standards Institute as the ANSI C programming language in 1989.

In 1978, Kernighan and Ritchie published the book "The C Programming Language". Referred to by many simply as "K&R" It is considered to be a computer science masterpiece and a critical reference for explaining the concepts of modern programming, and is still used as a text when teaching programming to students in computer science curriculums even today.

ANSI C as a programming language is also still used heavily today, and it has since mutated into a number of sister languages, all of which have strong followings.

The most popular, C++ (pronounced "C plus plus") which was introduced by Bjarne Stroustrup in 1985 and added support for object-oriented programming and classes, is used on a variety of operating systems including every major UNIX derivative including Linux and the Mac, and is the primary programming language that has been used for Microsoft Windows software development for at least 20 years.

Objective-C, created by Brad Cox and Todd Love in the 1980s at a company called Stepstone added Smalltalk messaging capabilities to the language, further extending the language's object-oriented and code re-usability features.

It was largely considered an obscure derivative of C until it was popularized in the NeXTStep and OpenStep operating systems in the late 1980s and early 1990's on Steve Jobs' NeXT computer systems, the company he formed after he was ousted by Apple's board in 1985.

What happened "next" of course is computing history. NeXT was purchased by Apple in 1996 and Jobs returned to become CEO of the company in 1997.

In 2001, Apple launched Mac OS X, which makes heavy use of Objective-C and object-oriented technologies introduced in NeXTStep/OpenStep.

While C++ is also used heavily on the Mac, Objective-C is what is used to program to the native object-oriented "Cocoa" API in the XCode IDE which is central to the gesture recognition and animation features on iOS that powers the iPhone and the iPad.

Objective-C also provides frameworks for the Foundation Kit and Application Kit that are essential to building native OS X and iOS applications.

Microsoft has its own derivative of C in C# (pronounced "C Sharp") that was introduced in 2001 and serves as the foundation for programming within the .NET framework.

C# is also is the basis for programming the new Metro applications in the Windows Runtime (WinRT) for the upcoming Windows 8 as well as in Windows Phone 7.x. It is also used within Linux and other Unix derivatives as the programmatic environment for Mono which is a portable version of the .NET framework.

But C's influence doesn't end at C language derivatives. Java, which is an important enterprise programming language (and has itself morphed into Dalvik, which is used as the primary programming environment for Android) is heavily based on C syntax.

Other languages such as Ruby, Perl and PHP which form the basis for the modern dynamic Web, all use syntax introduced in C, created by Dennis Ritchie.

So it could be said that without the work of Dennis Ritchie, we would have no modern software... at all.

I could end this article simply with what Ritchie's development of C means to modern computing and how it impacts everyone. But I would only really be describing half of a life's work of this man.

Ritchie is also the co-creator of the UNIX operating system. Which, of course, after being prototyped in assembly language, was completely re-written in the early 1970's in C.

Since the very first implementation of "Unics" booted on a DEC PDP-7 back in 1969, it has mutated into many other similar operating systems running on a huge variety of systems architectures.

Name a major computer vendor, and every single one of them has had at some time an implementation of UNIX. Even Microsoft, which once owned a product called XENIX and since sold it to SCO.

You'll want to click and zoom into this picture so you can get a better understanding of this "family".

Essentially, there are three main branches.

One branch is the "System V" UNIXes that we know today primarily as IBM AIX, Oracle Solaris, SCO UnixWare and Hewlett Packard's HP-UX. All of these are considered to be "Big Iron" OSes that drive critical transactional business applications and databases in the largest enterprises in the world, the Fortune 1000.

Without the System V UNIXes, the Fortune 1000 probably wouldn't get much of anything done. Business would essentially grind to a halt.

They may only represent about 10 to 20 percent of any particular enterprise's computing population, but it's a very important 20 percent.

The second branch, the BSDs (Berkeley Systems Distribution) include FreeBSD/NetBSD/OpenBSD which form the basis for both Mac OS X and the iOS that powers the iPhone. They also are used as the backbone that supports much of the critical infrastructure that actually runs the Internet.

The third branch of UNIX is not even a branch at all -- GNU/Linux. The Linux kernel (developed by Linus Torvalds) combined with the GNU user-space programs, tools and utilities provides for a complete re-implementation of a "UNIX-like" or "UNIX-compatible" operating system from the ground up.

Linux of course, has become the most disruptive of all the UNIX operating systems. It scales from the very small, from embedded microcontrollers to smartphones, to tablets and desktops and even the most powerful supercomputers.

One such Linux supercomputer, IBM's Watson even beat Ken Jennings on Jeopardy! while the world watched in awe.

Still, it is important to recognize that Linux and GNU contains no UNIX code at all -- hence the Free Software recursive phrase "GNU's not UNIX."

But by design, GNU/Linux behaves much like UNIX, and it could be said that without UNIX being developed by Ritchie and his colleagues Brian Kernighan, Ken Thompson, Douglas Mcllroy and Joe Ossanna at Bell Labs in the first place, there never would have been any Linux or an Open Source Software movement.

Or a Free Software Foundation or a Richard Stallman to be glad Steve Jobs is gone, for that matter.

But enough of religion and ideology. We owe much to Dennis Ritchie, more than we can ever possibly imagine. Without his contributions, it's likely none of us would be using personal computers today, sophisticated software applications or even a modern Internet.

No Android smartphones, no fancy DVRs and streaming devices, and no Macs and iPads for Steve Jobs and Apple to make Amazingly Great.

No "Apps for That."

To Dennis Ritchie, I thank you -- for giving all of us the technology to be the technologists we are today.

Dennis Ritchie (standing) and Ken Thompson with a PDP-11, circa 1972 (Source: Dennis Ritchie homepage)

Topics: Linux, Apple, Open Source, Software Development

About

Jason Perlow, Sr. Technology Editor at ZDNet, is a technologist with over two decades of experience integrating large heterogeneous multi-vendor computing environments in Fortune 500 companies. Jason is currently a Partner Technology Strategist with Microsoft Corp. His expressed views do not necessarily represent those of his employer.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

172 comments
Log in or register to join the discussion
  • RE: Without Dennis Ritchie, there would be no Jobs

    And <i>jobs</i> he created a lot of.
    Return_of_the_jedi
    • RE: Without Dennis Ritchie, there would be no Jobs

      @Return_of_the_jedi
      +1.
      Ram U
    • RE: Without Dennis Ritchie, there would be no Jobs

      @Return_of_the_jedi
      They made the History
      http://geekwindow.com/2011/10/dennis-ritchie-father-of-c-died-at-70.html
      TechExpert21
  • RE: Without Dennis Ritchie, there would be no Jobs

    No doubt that Dennis Ritchie is as important as Steve Jobs but everyone has a role to play !
    pore.abhijeet@...
    • RE: Without Dennis Ritchie, there would be no Jobs

      @pore.abhijeet@... Dennis Ritchie is MORE important than Jobs, not "..as.." but Steve Jobs is a force in the technology world too
      Roque Mocan
    • RE: Without Dennis Ritchie, there would be no Jobs

      @pore.abhijeet@... Jobs might have been Walt Disney but Ritchie invented the paint brush and defined much of the color palette.
      cabdriverjim
      • very eloquently put

        @cabdriverjim +100
        thx-1138_
      • RE: Without Dennis Ritchie, there would be no Jobs

        @cabdriverjim Jobs was a genius like PT Barnum, Ritchie was a genius like Edison...
        srshaw
      • RE: Without Dennis Ritchie, there would be no Jobs

        @cabdriverjim ...Well said! A toast to Dennis...
        EHasselmann
    • RE: Without Dennis Ritchie, there would be no Jobs

      @pore.abhijeet@...

      Without Dennis Ritchie and his contributions, Steve Jobs would have remained on a commune after dropping out of Reed College during his freshman year.
      benched42
    • response

      Well, I think Dennis Richie is more important because he is the basis of all the advances that we have nowadays, including "Apple". Bare in mind both died at the same time; however, Dennis Richie was not praised at all. His name was not mentioned as much as Steve's name was.
      Abdullah_mafia
  • Why bring Jobs name into the article?

    There wasn't a single reason to use the name of the late Steve Jobs in this article except for the "scandal" factor.

    Dennis Ritchie is a pioneer in the computer industry on its own and there is no reason to resort to cheap tricks to highlight his accomplishments and invaluable contributions to the world.
    wackoae
    • RE: Without Dennis Ritchie, there would be no Jobs

      @wackoae
      Brings things into perspective...
      hlupost@...
    • RE: Without Dennis Ritchie, there would be no Jobs

      @wackoae I'm bringing Jobs' name into it because his death completely overshadowed Ritchie's and ALL of his products depend on everything that Ritchie created. You won't find Dennis Ritchie memorialized on the cover of TIME or Newsweek.
      jperlow
      • RE: Without Dennis Ritchie, there would be no Jobs

        @jperlow Yes you are right. Steve was an gifted marketer (even Steve Wozniak pointed that out) but Dennis was a real master, a genius. Modern Technological world owe him large than Steve.
        bmandelbrot
      • RE: Without Dennis Ritchie, there would be no Jobs

        @jperlow <br>I understand the point, but are the Alan Turings, John McCarthys or Edsger Dijkstras, to name some late folks, or Larry Walls, Guido von Rossums, Dave Cutlers, Bill Jolitzes, or Guy Steeles, to name some living folks who led great advancements in programming and operating systems, likely to receive notice in any widespread way? What about Doug McIlroy, still with us, who got Unix to hit it out of the park with pipes.<br><br>Somewhere, there was a project manager for Multics who set the table, with its failure, for the bright kids.<br><br>I sort of feel like I'm segueing into an episode of James Burke's Connections.<br><br>Any way, good for you to bring Dr. Ritchie's accomplishments to light. I think all those who have an interest in computing as a stepping-stone along the path of human achievement should know what he did and understand how he and his collaborators changed the world. Accomplishments which are just as meritorious regardless of how much adulation Steve Jobs received.<br><br>And though I find programming in C akin to juggling dynamite while jogging on a tight rope in clown shoes, everyone who is serious about programming should learn C and learn C from K&R. That book is core truth.
        DannyO_0x98
        • RE: Without Dennis Ritchie, there would be no Jobs

          @DannyO_0x98
          All of the products produced under Jobs' guidance after he visited Xerox PARC are directly influenced by Alan Kay. I believe Kay has been and continues to be a senior fellow at Apple.
          DannyO_0x98
    • RE: Without Dennis Ritchie, there would be no Jobs

      @wackoae I don't see it as incendiary. It is simply a statement of fact. Maybe without Ken Olsen there would be no Dennis Ritchie, too...
      Roque Mocan
    • Obvious reasons...and what scandal?

      @wackoae

      Resort to cheap tricks?

      Thats kind of an odd thing to say. What cheap tricks?

      You certainly have an odd perspective on this. You seem to be implying that something a little sinister is behind this article due to your conception that there is no reason to mention Steve Jobs in the title. But see, right off the bat you are wrong.

      There was very good reason to attach the name of Steve Jobs to the article and its spelled out right in the whole first part of the article.

      You see, Steve Jobs just recently passed away, in case you didn't notice, and it got a mountain load of attention. Now another iconic personality from the world of IT has just passed away, Dennis Ritchie, who has an even more pivotal roll in the world of IT then Jobs did. Its an obvious gimme of a comparison and it seems clear the writer would like Richie to get at least the same respect Jobs did. It seems like a very natural reason to bring Jobs into the discussion.

      You need to take a pill and relax.
      Cayble
      • RE: Without Dennis Ritchie, there would be no Jobs

        @Cayble

        Well said, thats what came to mind when I read this article.
        marksteele