4 ms·
Interview with Ken Thompson - on writing Unix, Go language and Dennis Ritchie
- j_baker 15y agoKen Thompson wrote Dennis Ritchie? I didn't realize he was that good a hacker.
- cafard 15y agoWhy not? http://www.folklore.org/StoryView.py?project=Macintosh&story=I_Invented_Burrell.txt&characters=Jef%20Raskin&sortOrder=Sort%20by%20Date http://www.folklore.org/StoryView.py?project=Macintosh&s...
- Uhhrrr 15y agoMy favorite quote, regarding Go: "When the three of us [Thompson, Rob Pike, and Robert Griesemer] got started, it was pure research. The three of us got together and decided that we hated C++."
- hvs 15y agoThat's not surprising. Even among its adherents, C++ evokes a love-hate relationship. I really don't like the language, but reading Stroustrup's "The C++ Programming Language" and Josuttis's "The C++ Standard Library", I have to say that I can respect what they have done. And when you read something like "Effective C++", you learn to appreciate (or pity) developers who have to keep that much information in their heads in order to code. I personally gave up on it years ago and went over to C, but I like to keep up-to-date with what is going on in that world.
- supersillyus 15y agoI found this interesting (regarding Go): "we started off with the idea that all three of us had to be talked into every feature in the language, so there was no extraneous garbage put into the language for any reason". As a fan of minimalism over complexity, I like the idea, but I can't help but wonder if three of the world's best programmers are the best qualified to decide what programmers in general need. For example, if you can dash off a correct, performant, and theoretically sound version of a data structure in a couple dozen lines of code and 15 minutes, I bet generics seem much less useful. However, I do prefer that to designing to the lowest common denominator.
- zoul 15y agoThe older I am the more I come to the conclusion that best programmers aren't those who can bang out complex code, but those who can find a reasonably simple way to implement even complex concepts. This does not work all the time, but mostly when I start to write "heroic" code I simply back up and try to find what I am doing wrong. Maybe this is the case with the authors of Go.
- enneff 15y agoKeeping things simple is hard. It takes a willingness to admit your mistakes and the time to go back and correct them. If you want something to last, you've got to fight to keep it from rotting under the weight of its own design. The less design, the more easily it can adapt to change. Ingrained in the Go project is the philosophy that things are always worth fixing, no matter how small. I don't think the value of this idea can be overstated.
- bugsy 15y agoThe last sentence of the interview "Google makes us do that" is very interesting. It's not that Ken is convinced it is a good idea, it is that Google is forcing him to do it. Google knows best after all, implied is that Ken is nobody so special that he can decide how he himself works best.
- enneff 15y agoI wouldn't take it that way. It's more that it would be insane to work on shared code with thousands of engineers without version control. At Bell there were far fewer programmers, so keeping track of changes would be much more straightforward.
- bugsy 15y agoI agree that version control is nearly essential. But Ken's phrasing was not "Well of course I use SCM for everything." it's "Google is making me." The way he said it, even in jest, suggests a bit of resentment and a feeling that it's not something he feels is best for this project for some reason.
- thisrod 15y agoThe original Plan 9 file server, kenfs, is a kind of versioning system. He must have thought it was a good idea at the time.
- uriel 15y agoFor anyone interested: The Plan 9 File Server by Ken Thompson: http://doc.cat-v.org/plan_9/2nd_edition/papers/fs http://doc.cat-v.org/plan_9/2nd_edition/papers/fs (Geoff Collyer later added 64bit support: http://doc.cat-v.org/plan_9/2nd_edition/papers/fs http://doc.cat-v.org/plan_9/2nd_edition/papers/fs and eventually Bell Labs replaced kenfs with Fossil: http://doc.cat-v.org/plan_9/4th_edition/papers/fossil/ http://doc.cat-v.org/plan_9/4th_edition/papers/fossil/ although some members of the Plan 9 community still prefer the simplicity of kenfs)
- petegrif 15y agoA giant amongst men.
- gaius 15y agoAbsolutely. Compare and contrast with http://news.ycombinator.com/item?id=2560879 http://news.ycombinator.com/item?id=2560879
- tzs 15y agoSo they named their early IM program "writ", but pronounced it "write". These are also the people that named the file creation system call "creat" instead of "create". Could the next person who interviews Ken please ask him what he has against ending words with "e"? I wonder if there is an interesting story behind that.
- fjarlq 15y agoKen Thompson was once asked what he would do differently if he were redesigning the UNIX system. His reply: "I'd spell creat with an e." -- http://en.wikiquote.org/wiki/Kenneth_Thompson#Attributed http://en.wikiquote.org/wiki/Kenneth_Thompson#Attributed He got his chance with Go... when he added the O_CREATE symbol (an alias for O_CREAT) his comment was: spell it with an "e" -- http://code.google.com/p/go/source/detail?r=4a3f6bbb5f0c6021279ccb3c23558b3c480d995f http://code.google.com/p/go/source/detail?r=4a3f6bbb5f0c6021...