Monthly Archives: February 2010
By now you’ll have realized that I have a slight reverence for Bill Joy and so I feel compelled to talk about the first time I met him. It was back in 2000 and there was all this buzz about the article he wrote in Wired Magazine entitled: “Why the future doesn’t need us.” He spoke over lunch and discussed his views and every word was enthralling. At the end of his talk people all clamored to speak to him. I found myself standing right in front of Bill Joy with all these other guys going on about his talk. All I could think about was how this man had influenced my life with Vi, Csh, BSD, NFS, etc. and instead of talking about his lunchtime talk I started blabbing on about how grateful I was for all of his amazing contributions. It was very uncool in the context of the meeting and he looked at me as though I was a whack job.
I was a whack job. I could hardly string together a sentence, I was so in awe of this man. I eventually pulled myself together but it was too late and his attention had moved on. I felt like a real tool.
Luckily, as I was leaving the room a little while later, I saw him walking down the corridor alone. Instead of going on about how great he was I remembered that he had a young daughter and I gave him my Magic business card and said to him: “Mr. Joy I enjoyed your talk very much, if you ever need a real magician to entertain your daughter, just give me a call and I’ll be there.” He first looked at me with suspicion, but as he read the card – Magic and Mystery for Select Occasions – a big smile came over his face and he thanked me and went on his way.
Just for that instant we connected and I felt that I had redeemed my earlier mistakes. I felt so happy that afternoon.
- Bill Joy – for pretty much everything, see this post.
- Dennis Ritchie and Ken Thompson – for Unix.
- Brian Kernighan and Dennis Ritchie – for the “C” Programming Language.
- Alfred Aho and Jeffrey Ullman – Principles of Compiler Design Book – the Dragon Book.
- Larry Wall – for the Perl Programming Language.
- Linus Torvalds – for Linux.
- Dries Buytaert – for Drupal.
- Guido van Rossum – for Python.
- Richard Stallman – for Emacs, GNU, and Free Software Foundation.
- John Backus, Niklaus Wirth and Edsger Dijkstra – for the development of modern programming languages that make it all possible.
I know there are others (Alan Turing and John Von Neumann are obvious), but these guys spring to the top of my mind. If you are a fan of Outliers you’ll notice how many of these guys were born in the early 50’s – that seems to be the time when many of the great programmers were born.
I’m a big lover of Programming Languages. I know there is not one language suited for all tasks and whilst I may dislike certain languages I also realize that in the end most things can be accomplished in any of the common general purpose languages available today. Not all will be as concise or as readable or as “pure”, but give or take you can express most problems in a slew of different languages. Of course there is the odd whack job who thinks you can do everything in SQL or COBOL, in fact I remember meeting a guy who actually wrote a COBOL compiler in COBOL – now that was a dedicated individual!
When I wrote my Ph.D. I developed five different special purpose languages and wrote interpreters for them all. The core language was called CARESS – no it was not a contraceptive, but stood for “Concurrent Assignment REpresentation of Synchronous Systems”. It was even used by the third year undergraduates at the time. Nothing earth shattering but I felt the need to write these languages and they became a integral part of my Ph.D. Naturally, those languages don’t exist today. But many from the 70’s, 80’s, and 90’s do.
But why so many? I’d like to think it is not just about making money and market share, but rather because developers are passionate people who feel so strongly about their craft, that they design a whole language that enables them to express themselves perfectly.
Looking at the list I get a warm satisfaction seeing that my old love “C” is at 2, and Python is at 7 and rising.
I’m looking forward to doing a lot more with Python later this year, although sadly it seems my current project will take longer than I hoped – if only I had a more expressive language …