4 ms·
This is an ill-informed opinion. He correctly reject quite a number of language, but probably not for the right reason, given the criteria of using it for long
by informatimago 12y ago
This is an ill-informed opinion.
He correctly reject quite a number of language, but probably not for the right reason, given the criteria of using it for long-term projects.
What languages will be still usable in 50 years? A language like perl, that was popular a few years ago, but that nobody use anymore? A language like java or C++ that's changing every few years (because it's so limited or ill-designed)? What guarantee do we have to be able to compile our current C++ programs with C++2060? What would you bet? Even C's evolving.
On the other hand, there are a small number of candidate language that withstand the test of time:
- Fortran and Cobol (somewhat specialized languages),
- Lisp, notably Common Lisp which is still able to run programs 55 years old (that's my personnal bet, CL programs written today will be still runnable in the Lisp of 2060), and whose ANSI standard has not changed for 20 years now.
- probably Smalltalk. Perhaps Ada and Eiffel.
All the other languages are too recent or evolving too fast to ensure any perenity for long term projects, AFAICS.
For example, while Haskell is the current fad in purely functional programming languages, I could count at least half a dozen of rather popular functional languages invented since I was in University, for an average of lifespan of a few years each, not much more. If I wanted to write a long term project in a functional style, I'd still choose Common Lisp to do that...
http://longnow.org/ http://longnow.org/
- Pyfagorass 12y ago> This is an ill-informed opinion. Like it's opinionated, poorly researched, and really just the thoughts from his head?
- k__ 12y agoI sens a severe case of the blubb-paradox, when reading the list ;)
- ekidd 12y ago- Fortran and Cobol This is definitely the right general strategy: You want to ensure that compilers, libraries and a community are all available in 50 years. This depends, in turn, on having a huge community of users with high-value legacy systems that can't be feasibly rewritten. So basically, you want to choose a boring, widely-adopted "enterprise" language, one used to implement a large number of critical back-office applications in Fortune 500 companies. You also want to choose a language which has a long history of backwards compatibility. In the 80s, Cobol would have been an excellent choice. Today, I'd probably go with Java for this role. Sure, there's a lot of boilerplate (or whatever your personal complaint might be). But in 2064, there will absolutely be a huge quantity of ugly legacy code written in Java, and it will still be running critical systems somewhere. At a minimum, there will be a small market of specialists who can maintain it, and Oracle (or one of their successors) will be happy to sell you a JVM and enterprise consulting services at a hideous markup.
- riffraff 12y agonot to be underestimated: the jdk is open source.
- tome 12y agoHaskell has existed for 25 years, Common Lisp for 30 and Lisp in general for a bit over 50. Yes, Lisp has the longer pedigree, but I don't think you can call Haskell a fad.
- marcosdumay 12y agoWhat in Javascript does not fit that description? It has even more inertia than Fortran and Lisp, it has more badly written software running than Java and C++. Misguided as the article is, I think it still reached the correct conclusion.
- humanrebar 12y agoSame for C++. There will be a -std=c++03 flag in gcc for a long, long time to come.
- cafard 12y ago"A language like perl, that was popular a few years ago, but that nobody use anymore?" Nobody uses anymore, or that no longer gets a lot of buzz? Also, Lisp has as you say been around for a long time, but Common Lisp goes back only so far. Will it really run the Lisp programs of 1960?