5 ms·
I continue to be amazed by Ken Thompson's name popup in unexpected places even after all these decades. When I first learned that co-creator of Unix also invent
by sytelus 13y ago
I continue to be amazed by Ken Thompson's name popup in unexpected places even after all these decades. When I first learned that co-creator of Unix also invented Regular Expressions I was surprised. Then I came to know about that elegant hack of inserting malware in compiler that's practically invisible. And then Ed... Then Chess... And then UTF... And then Go... It feels like Ken Thompson is Newton of Computer Science. If you randomly open up a section of physics book 3-4 times, you are very likely to read something about Newton's contribution. Even what's more cool about him is this humble down-to-earth line from his Turing award lecture:
I am a programmer. On my 1040 form, that is what I
put down as my occupation. As a programmer, I write
programs.
It would be great to create a website that showcases all of his contributions in detail.
- LukeShu 13y agoNitpick: Thompson didn't invent regular expressions (that achievement belongs to Stephen Kleene), but he figured out how efficiently parse them with a computer, turning them from a mathematician's toy into something practical. I don't recall if Thompson is responsible for "modern" regular expression syntax--at least the `*` is borrowed from Kleene's notation. I'd look at Thompson's paper and find out, but I'm having trouble accessing my ACM subscription.
- nostrademons 13y agoThompson is at the very least responsible for the ^ and $ metacharacters.
- LukeShu 13y agoThompson's original paper used used the example espression: a(b|c)*d without any description of what it meant, so I take it that at the very least, that much was borrowed from Kleene. I am having a hard time reading it, to see if anything else was implemented, as I am unfamiliar with Algol-60 or IBM 7094 assembly. He cites Kleene's paper, saying that he assumes the reader is familiar with regular expressions; I'd look at that paper and see what Kleene described, but I can't find a copy of that. Thompson also site a paper by Brzozowski. The abstract for that paper includes: "Kleene's regular expressions, which can be used for describing sequential circuits, were defined using three operators (union, concatenation and iterate)" Which I take to mean that Kleene only came up with the syntax expressed in the example expression at the beginning.
- Demiurge 13y agoIf Ken Thompson is Newton of Computer Science (as opposed to say, unix), who is Niklaus Wirth?
- enneff 13y agoOr indeed Claude Shannon.
- tripzilch 13y agoShannon is more like the Feynmann of Computer Science: http://en.wikipedia.org/wiki/Claude_Shannon#Hobbies_and_inventions http://en.wikipedia.org/wiki/Claude_Shannon#Hobbies_and_inve...
- vanderZwan 13y agoThe Euler of Computer Science, of course: http://en.wikipedia.org/wiki/Euler_%28programming_language%29 http://en.wikipedia.org/wiki/Euler_%28programming_language%2...