The internet is filled with stories and praises of software giants such as Steve Jobs. However, the one man responsible for the rise of software, the man who’s work enabled men like Steve Jobs to build their technology empires on – Dennie Ritchie – is someone whom the world at large has forgotten. For many of us unfamiliar with the name, here’s why we should be singing his praises.
The reason Dennis Ritchie’s legacy is so important to us, is because this was the man who while working in Bell Labs in the late 60’s – early 70’s realized the limitations of assembly language. Therefore he, along with fellow Bell Labs researcher Ken Thompson decided to create a language that allowed them the flexibility to create a better version of UNIX. This language came to be known as B – which depending on the story – was either named after Thompson’s wife Bonnie or BCPL, a language developed at Cambridge in the mid-60s.
B being an interpreted language , was executed by an intermediate piece of software running atop a CPU. Therefore, as we all know today, this language then made way for the compiled language known ac C. The first iteration of C was not all that different from the language we know today. It was compiled and translated into machine code and then executed by the CPU. But in the time it was created, it was considered a high level language and both Ritchie & Thompson saw it as a language that would give them the flexibility they needed and remain fast at the same.
It offered full data structures and “types” for defining variables, and this is what Richie and Thompson used to build their new UNIX kernel. “They built C to write a program,” says Pike, who would join Bell Labs 10 years later. “And the program they wanted to write was the UNIX kernel.”
A running joke by Ritchie was that C had the power of assembly language with the convenience of assembly language – thereby admitting that C was not a beautiful creation as it would run very close to the hardware. Today though, with the progress made since C is now a low-level language – but at that time, it was high enough for their needs.
Rob Pike, the programming legend and current Googler who spent 20 years working across the hall from Ritchie at the famed Bell Labs had this to say about the language and its creators in the days after Ritchie passed away.
“When you’re writing a large program — and that’s what UNIX was — you have to manage the interactions between all sorts of different components: all the users, the file system, the disks, the program execution, and in order to manage that effectively, you need to have a good representation of the information you’re working with. That’s what we call data structures,” Pike says.
“To write a kernel without a data structure and have it be as consist and graceful as UNIX would have been a much, much harder challenge. They needed a way to group all that data together, and they didn’t have that with Fortran. At the time, it was an unusual way to write an operating system, and this is what allowed Ritchie and Thompson to eventually imagine porting the OS to other platforms, which they did in the late 70s. “That opened the floodgates for UNIX running everywhere,” Pike says. “It was all made possible by C.”