Since Dennis Ritchie passed away, I have been thinking to write something about this guy, not just because to me he is the most important computer scientist since early days of modern computer systems, but just because he was the father of everything we are running today.
Unfortunately the world did not give to him, what is in my opinion, the deserved attention in the moment of his death, because 7 days before another great entrepreneur had passed away, so the world media and market was more affected by his death. I’m talking about Steve Jobs, that is known as a great entrepreneur and business man, but without the work of Dennis Ritchie helping him indirectly, maybe his progression would have been more difficult than it was.
This is because all basic software of Apple, like MacOS X and IOS was written using the C language, created by Dennis Ritchie several years before at Bell Labs, and considering that both operating systems are UNIX-Like, the importance of Dennis Ritchie for Apple’s present day success increases, because he was the creator of UNIX too.
The Bell Labs.
It is impressive the influence of Dennis Ritchie in all modern languages, like, C#, Java, Shell scripting, and a lot of others that have their dialect based on C language, but when he created the C language I think that has was just thinking about reusing his works in new models of computers that were been born in the mid seventies.
In those days computer use was restricted to universities and big companies. Considering the corporate world I can say that this environment was a controlled place and it’s growth was maintained by other big companies like Hewlett Packard and IBM, but in university and the world of research this growth was more open and with no boundaries, I think that was almost chaotic.
At this time a well known research lab was the source of the biggest researches of the sixties and seventies, considering the computer science scene. This lab sponsored the development of a computer digital language whose main goal was to create a generic and abstract language capable to access the low level resources of any machine using a lightweight set of reserved commands, making it easier to learn than machine language.
I’m talking about the Bell Laboratories, a well known research institute at that time, created by another great genius and the father of all modern communication found today, Alexander Graham Bell. I remember in the early nineties I thought Bell Labs to be the most important place of technology since the sixties until those days and I was really fascinated by their creations, since C, UNIX and C++, all related to computer science, but if we consider the big legacy of Bell Laboratories, I must cite the transistor invention and the telephone, this one being the big start-up of Bell labs.
Maybe you know Bell Labs as AT&T, a big american telecommunication company from the eighties and nineties, but in fact AT&T is older than we know and the relationship with Bell labs came from the twenties and in my point of view, AT&T was a company behind the Institute Bell Labs, giving it financial support to develop the base of the current digital technology in the world.
Today Bell Labs is part of a French telecommunications company, known as Alcatel-Lucent and the good news about this is that the new company is keeping focus on technologies based on networking, software and other digital technologies. On the other hand other basic technologies like semiconductor research was taken apart.
The creation of the C language
In the early nineties, I was very interested to learn about computer languages because I had started to study computer science in university and I was living a special moment where my colleagues and teachers were exchanging a lot of information about computer languages, mathematics, physics and other basic concepts.
In this motivating scenario where all seemed to be new, I was presented to the C language by several colleagues and specifically by a teacher, that was a student of the author of the well known best selling book Turbo C – The complete reference, Herbert Schildt.
Herbert Schildt was my first gate to the C language and after I started to learn just reading his books I wanted to learn about the creator of C language and why it was created, then the big question is why Dennis Ritchie created the C language ?
There are a lot of theories and tales about the motivation of the creation of the C language but in fact the real reason why Dennis Ritchie created the C language was because he was involved in UNIX development in conjunction with his big friend and colleague Ken Thompson, in the early seventies.
In those days, the UNIX operating system was barely beginning and it was completely written in assembly language for the DEC PDP-7 and it was known that PDP-7 was almost obsolete, then when the new DEC PDP-11 was released, the UNIX system would be dead too fast, because the compatibility between those machines was not so simple and natural as in modern computers.
The best choice was to look for a new, powerful and abstract language to use in his port of the UNIX operating system and the first choice of Ken Thompson was the B language, that is a variant of an older language, called BCPL.
Unfortunately B lacks a lot of features to help the programmers make good, abstract and scalable softwares.
Knowing all of these limitations Dennis Ritchie started to create the C language, based on some concepts of B language but without all of the features lacking of the B language.
After this, in the mid seventies the UNIX system was completely rewritten using the C language and until now UNIX and C, both, have been the most important technologies present on several modern computers and for overall learning in computer science too, thanks to Dennis Ritchie and Ken Thompson.
Today we are living a great moment in the area of technology, a moment when new and exciting technologies are being born every day. But I think that we must never forget about these grand masters of computer science, that in the past created the strong base that we are using now and Dennis Ritchie is for me the most important of all computer scientists. Just because other great masters like Bjarne Stroustup, the father of C++, James Gosling, the father of Java and many other important guys, based their creations on Dennis Ritchie’s work.
I believe that Dennis Ritchie is directly and indirectly influencing all generations of new computer scientists and the IT professionals in general, because almost all commercial and open source technologies are based on his work.
Just to cite an example, today we have open technologies like Java and the other hand we have closed technologies like C#, these are two technologies that are now competing for attention from most professionals of the technology information market, but it is known that both share the same syntax and other features, and why not say, the same spirit of C language…….the spirit of Dennis Ritchie.
Enjoy the silence.
Dennis Ritchie (Bell Labs page)
Dennis Ritchie death announcement (NY Times)
Steve Jobs death announcement (TechCrunch)
The C language (Wikipedia)
Bell Labs (Alcatel website)
Shell Script (Wikipedia)
Alexander Grahan Bell (Wikipedia)
Turbo C – Complete reference (Amazon)
Ken Thompson’s bio at Bell Labs
DEC PDP-11 (Wikipedia)
B Language (Wikipedia)
BCPL Language (Wikipedia)