1 Jan 20122 Comments
Dennis MacAlister Ritchie (1941-2011) – My Inspiration by a Great Man Who Quietly Shaped an Industry
NOTE: The intrusion and profusion of projects in my life, has prevented blogging for some time. As 2011 draws to a close, I thought I needed to make an effort to provide my perspective on some important milestones in my world.
Back in October, when Rob Pike posted on Google+:
I just heard that, after a long illness, Dennis Ritchie (dmr) died at home this weekend. I have no more information.
I trust there are people here who will appreciate the reach of his contributions and mourn his passing appropriately.
He was a quiet and mostly private man, but he was also my friend, colleague, and collaborator, and the world has lost a truly great mind.
Although the work of Dennis Ritchie has not been top of my mind for a number of years, Rob’s posting dredged up some pretty vivid early career memories.
As the co-creator of UNIX, along with his collaborator Ken Thompson, as well as the C Programming Language, Dennis had a huge and defining impact on my career, not to mention the entire computer industry. In short, after years as a leader in technology yet market laggard, it looks like in the end, UNIX won. Further, I was blessed with meeting Dennis on numerous occasions and, to that end, some historical narrative is in order.
Back in 1973, I got my first taste of UNIX at the University of Waterloo, serendipitously placing us among a select few who tasted UNIX, outside of Bell Labs, at such an early date. How did this come about? In 1972, Steve Johnson spent a sabbatical at University of Waterloo and brought B Programming Language (successor to BCPL and precursor to C, with all its getchar and putchar idiom) and yacc to the Honeywell 6050 running GCOS that the University’s Math Faculty Computing Facility (MFCF) had installed in the summer of 1972. Incidentally, although my first computer experience was in 1968 using APL on IBM 2741 terminals connected to an IBM 360/50 mainframe, I really cut my “hacker” teeth on “the ‘Bun” by writing many utilities (some in GMAP assembler and a few in B). But, I digress . .
Because of the many connections made by Steve Johnson at that seminal time, University of Waterloo was able to get Version 5 UNIX in 1973 before any real licensing by Western Electric and their descendents by simply asking Ken Thompson to personally make a copy on 9 track magnetic tape. My early work at Computer Communications Networks Group (CCNG) with Dr Ernie Chang attempting to build the first distributed medical database (shades of Personal Health Records and eHealth Ontario?) led me to be among the first to get access to the first Waterloo-based UNIX system.
The experience was an epiphany for me. Many things stood out at the time about how UNIX differed from Operating Systems of the day:
- Compactness: As described by a fellow UNIX enthusiast at the time, Charles Forsyth, it was amazing that the entire operating system was barely 2 inches thick. This compared tot he feet of listings for GCOS or OS/360 made it a wonder of minimalistic compact elegance.
- High Level Languages: The fact that almost 98% of UNIX was coded in C with very little assembler, even back in the days of relatively primitive computing power, was a major breakthrough.
- Mathematical Elegance: With clear inspiration from nearby Princeton and mathematical principles, the team built software that for the day was surprisingly mathematically pure. The notion of a single “flat file” format containing only text, coupled with the powerful notion of connecting programmes via pipes made the modular shell and utility design a real joy to behold.
- Extensible: Although criticized at the time for being disc- and compute-intensive and unable to do anything “real time”, UNIX proved to have longevity because of a simple, elegant and extensible design. Compare the mid-1970’s UNIX implementations supporting 16 simultaneous users, on the 16-bit DEC PDP-11/45 with 512KB (note that this is “KB” not “MB”) with today’s Windows quad-core processors that still lock out typing for users, as if prioritized schedulers had never been invented.
The Dennis Ritchie I experienced was a brilliant, yet refreshingly humble and grounded man. I know his passing will be a real loss to his family and close friends. The world needs more self-effacing superstars like him. He will be greatly missed.
I think there is no more fitting way to close this somewhat lengthy blogger’s ramble down memory lane than with a humorous YouTube pæan to Dennis Ritchie Write in C.