5 ms·
Why Do Some Programming Languages Live and Others Die?
- sonnym 14y agoOn the correlation between bearded language designers and language popularity: http://www.alenz.org/mirror/khason/why-microsoft-can-blow-off-with-c.html http://www.alenz.org/mirror/khason/why-microsoft-can-blow-of...
- pcopley 14y agoThat author needs to either learn English or blog in his native language. It was downright painful to read.
- th0ma5 14y agoIt is interesting they remark towards the end about age having a factor in innovation. I've noticed that as I've aged my ideas are better (at least for me, heh) but that I have less time or desire to implement them.
- ChuckMcM 14y agoThe key take away from this: "Part of the problem, he says, is that language designers don’t always have practical objectives. “There’s a tendency in academics of trying to solve a problem when no one actually ever had that problem,” said Rabkin, who recently received his computer science PhD at Berkeley and is now at Princeton working on a post-doc. " I was at Google when Go was birthing (not part of the project or team, just co-employed :-)) and asked the team "What problem does this solve?" I asked because I had been part of the original Java team at Sun. One of the things I had learned at Sun from James Gosling, who had previously done a language for window systems, NeWS, was that the only reason to have a new language is that it solved a problem you could not easily solve with the existing languages. If you look at all of the durable languages, they share this heritage. BASIC solved the problem of what you had to learn before you could actually program problem. FORTRAN, solved the problem of converting Formulae into computation, which was later made into high art in Mathematica. COBOL which could express business process in code, and of course C which was a logical follow on to BLIS which was the minimal wrapping over assembly language so you could implement large systems and still read the code later and know what they were doing. I didn't get any sort of coherent answer from the Go team at the time. Which for me was an indication they were a solution in search of a problem, and thus not likely to be much more than a niche language. But to be completely fair I've seen good languages like Rexx go nowhere even though they solved a huge problem (automating the integration of different programs). A co-worker at Google suggested that we should start holding meetings in High Elvish, their reasoning was that it would keep people out of meetings who were at least motivated enough to learn elvish, and it sounded better when you swore. But applying a language change to solve a structural problem was never going to fly.
- mccoyst 14y agoGo solves almost all of the problems that C introduces, how's that sound?
- spullara 14y agoThose problems were solved by Java over a decade ago in a nearly identical way.
- mccoyst 14y agoEither you don't know Java or you don't know Go, because the way the two do things almost couldn't be more different. The JVM and the requirement that every non-primitive be a class that inherits from Object are not small differences.
- spullara 14y agoJust because they solve the same problems differently, doesn't mean they don't solve the same problems.
- cldrope 14y agoI love Java but it did introduce us (which may have occurred naturally over time) to new subsets of problems, which may in the future as well be referred to as traits.
- sanderjd 14y agoCould you elaborate? Go feels nothing like Java to me.
- ChuckMcM 14y agoCircular :-) But more constructively, it helps if you can get a bit deeper in the analysis. So C has a memory management problem, solved or not solved? C has a concurrency problem, solved or not solved? C has a security problem, solved or not solved? I will be the first to admit that I've not kept up with it since I left so it is entirely possible it's found its voice, has it?
- deleted 14y ago[deleted]
- davidw 14y ago> “Maybe the solution isn’t entirely technical,” Gee... you think? Programming languages are designed for humans - computers get by just fine with bits and bytes. And a programming language must not only communicate something to the computer, but also to any other humans who have anything to do with said system, if it's doing its job well. So the problem is entirely social. I wrote something about it a while back: http://www.welton.it/articles/programming_language_economics http://www.welton.it/articles/programming_language_economics
- wonderzombie 14y agoThis reminds me of an earlier piece, the one about VB. Merit of a given PL and its success/popularity are correlated, surely, but it's more complex than that. They can be orthogonal by varying degrees, I'd say. What they really seem to be asking is why hasn't a language which has improved substantially on C received similar adoption. Possibly another qualifier is that the language mustn't be C-like. Or there's an implicit value judgment about Java in there. :)
- neonscribe 14y agoThis subject has been covered extensively, but rarely in the popular press. One correction: C wasn't "popularized" in 1977. It was available inside Bell Labs and in a few C.S. departments on early PDP-11 Unix versions, but it did not really become popular until the late 1980s, when it became a viable choice for development on MS-DOS and Windows (with some ugly extensions to handle 16-bit address segments).