"The language grew up with one of the rewritings of the system and, as such, it became perfect for writing systems. ... It became the perfect language for what it was designed to do." Really? Perfect? Why then are there entire books filled with "C gotchas" or "C traps and pitfalls"? The language is an inconsistent, inelegant, error-prone mess that has left us with decades of serious bugs and security vulnerabilities.…
C was certainly a major step forward at the time, but he does seem oblivious to its flaws (at least in this interview). I was also disappointed to see how he casually trashed C++ at the same time. Not very diplomatic.
Interview with Ken Thompson (2011)
21–29 of 29 posts
Re: Interview with Ken Thompson (2011)
#22Earlier quoted context omitted.
C was certainly a major step forward at the time, but he does seem oblivious to its flaws (at least in this interview). I was also disappointed to see how he casually trashed C++ at the same time. Not very diplomatic.
No it wasn't, because we already had Lisp and system programming languages like ESPOL, NEWP, PL/I, PL/M, PL/8,.... before C got released outside AT&T.
Re: Interview with Ken Thompson (2011)
#23Earlier quoted context omitted.
> "an object-oriented C" ... minimalism That's Objective-C in a nutshell. Or was, anyway. The most minimal way to have useful OO on C. Of course, you could make it even simpler if you drop the "must be a superset of C"-requirement.
Maybe the most minimal, but not the most efficient, and C's minimalism is only useful because it lets you be as efficient as the hardware will be. Without that goal, the Lisps are more minimal than both C and Objective-C.
Re: Interview with Ken Thompson (2011)
#24Earlier quoted context omitted.
Cough. Well, except the the "simple" part...
Yeah not saying Swift is simple. But its goal was originally (and may still be) to be Objective-C without the C.
Objective-C is Smalltalk added to C. Objective-C without the C is Smalltalk. Which is, coincidentally, a very simple language.
Re: Interview with Ken Thompson (2011)
#25Earlier quoted context omitted.
No it wasn't, because we already had Lisp and system programming languages like ESPOL, NEWP, PL/I, PL/M, PL/8,.... before C got released outside AT&T.
Which tells you what?
Or to use a more modern example, UNIX was the browser and C was JavaScript.
Re: Interview with Ken Thompson (2011)
#26Earlier quoted context omitted.
Its simplicity is what I'm attracted to, and I think that's why I think Scheme is elegant too. It has less syntax than comparable languages, fewer keywords, a smaller standard library etc. I'm not sure if it makes the case for elegance or if I'm misunderstanding it.
Do you also consider simple having about 200 cases of UB on the standard?
Re: Interview with Ken Thompson (2011)
#27Earlier quoted context omitted.
Which tells you what?
That C was certainly a major step backwards at the time, only adopted thanks to AT&T being forbiden to sell UNIX, thus deciding to offer the source code for a nominal fee to anyone that wanted to get a license to the source code. Or to use a more modern example, UNIX was the browser and C was JavaScript.
Re: Interview with Ken Thompson (2011)
#28Earlier quoted context omitted.
That C was certainly a major step backwards at the time, only adopted thanks to AT&T being forbiden to sell UNIX, thus deciding to offer the source code for a nominal fee to anyone that wanted to get a license to the source code. Or to use a more modern example, UNIX was the browser and C was JavaScript.
I never coded in the languages from your earlier post; I'd never have wanted to either. C was and is elegant and beautiful. It isn't so popular because of a AT&T. Look at Microsoft's power in the business world. Even with all their "practices", .Net still hasn't been beaten by Java in terms of popularity and widespread use. .Net is good, not saying it isn't, just so that's clear.