
Interview with Ken Thompson - on writing Unix, Go language and Dennis Ritchie - jemeshsu
http://drdobbs.com/open-source/229502480
======
Uhhrrr
My 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
That'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
I 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
The 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
Keeping 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.

------
j_baker
Ken Thompson wrote Dennis Ritchie? I didn't realize he was _that_ good a
hacker.

~~~
cafard
Why not?

[http://www.folklore.org/StoryView.py?project=Macintosh&s...](http://www.folklore.org/StoryView.py?project=Macintosh&story=I_Invented_Burrell.txt&characters=Jef%20Raskin&sortOrder=Sort%20by%20Date)

------
tzs
So 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
Ken 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>

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=4a3f6bbb5f0c6021...](http://code.google.com/p/go/source/detail?r=4a3f6bbb5f0c6021279ccb3c23558b3c480d995f)

~~~
enneff
And then, recently, we removed O_CREAT from Go entirely! :-)

[http://groups.google.com/group/golang-
nuts/msg/75d1090047be3...](http://groups.google.com/group/golang-
nuts/msg/75d1090047be38d4)

~~~
davvid
hell yeah. go is the next C

------
bugsy
The 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.

~~~
thisrod
The 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
For anyone interested: The Plan 9 File Server by Ken Thompson:
<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> and eventually Bell Labs
replaced kenfs with 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
A giant amongst men.

~~~
gaius
Absolutely. Compare and contrast with
<http://news.ycombinator.com/item?id=2560879>

