6 ms·
Interview with Ken Thompson (2011)
- jstimpfle 9y agoWho here thinks they should have made "an object-oriented C" instead? I was under the impression that a big part of C's success (as a lingua france / lowest common denominator) is its minimalism. It forces only a few concepts on its users.
- FractalNerve 9y agoNot sure if it was used in Stuxnet, but an OOC compiler already exists [1] :) [1] https://ooc-lang.org/ https://ooc-lang.org/
- pjmlp 9y agoA big part of C's success was being a requirement for UNIX systems programming, with 80's startups (Sun, SGI,...) adopting an almost free of charge OS, with source code available, for their workstations.
- mpweiher 9y ago> "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.
- penpapersw 9y agoThus Swift.
- mpweiher 9y agoCough. Well, except the the "simple" part...
- penpapersw 9y agoYeah not saying Swift is simple. But its goal was originally (and may still be) to be Objective-C without the C.
- mpweiher 9y agoNope. That was always an empty marketing slogan. Objective-C is Smalltalk added to C. Objective-C without the C is Smalltalk. Which is, coincidentally, a very simple language.
- euyyn 9y agoMaybe 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.
- throwawayfoo 9y agoFew people can make sense out of Lisp and fewer actually like it.
- jhbadger 9y agoI have a fondness for ObjC because I was a Smalltalk programmer once upon a time (it's also probably why I like Ruby), but you could imagine a simpler object system on par with Object Pascal. I'm actually kind of surprised that nobody tried that but maybe with ObjC and C++ fighting it out people assumed yet another object-oriented dialect would go nowhere.
- jackyb 9y agoThat last answer reminds me of my researcher colleagues :D. Are most them like that?
- pmoriarty 9y ago"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. Yet Thompson describes it as "perfect". Sounds like he's been letting all the prizes he got get to his head. Sure. The language was very influential, and much of the software we use every day was and still is written in it. That doesn't make it perfect, just popular -- often for legacy reasons, not because it's "perfect for writing systems".
- brianberns 9y agoC 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.
- shmerl 9y agoIf anything, it's also ironic, because a lot of downsides of C++ stem from its requirement to inherit C downsides.
- pjmlp 9y agoNo 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.
- throwawayfoo 9y agoWhich tells you what?
- pjmlp 9y agoThat 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.