News for hackers. Stuff that matters.
Re:Yegge, Clojure, and Arc by wheels on Friday February 06, 2009 @11:14PM (#470785)
I'm tempted to agree, but then realizing that FORTRAN and Lisp are both over 50 now and both still actively used, and C is in its 30s, it wouldn't blow my mind if things weren't radically different in another 50 years.
Re:Yegge, Clojure, and Arc by pg on Saturday February 07, 2009 @12:23AM (#470827)
FORTRAN and Lisp are both over 50 now and both still actively used

These two languages are "still actively used" in very different senses. The mathematical idea at the heart of Lisp is still around, but those don't time out. And Fortran is alive in the sense that there is something called Fortran, but it probably has less in common with Fortran I than with other more recent languages.

http://www.paulgraham.com/history.html

If Java survives till 2109, it would probably be in the latter sense. Curiously enough, the fact that it is so popular in big, hidebound industries tends to make that likelier. It's tomorrow's legacy software.

Re:Yegge, Clojure, and Arc by wheels on Saturday February 07, 2009 @12:42AM (#470838)
Fortran 77 is still pretty widely used in physics, with some relaxed compiler rules that make it a little less ugly. Fortran 90 is however, I find, a lot more like Pascal.

I suspect you're right on Java surviving as a legacy language.

While I'm not sure (and really don't care) if Java or the JVM will survive for an extended period of time, I do find it interesting to note that programming languages seem to be comparatively resilient to change relative to everything else in computing. While the FORTRAN in that photo looks odd, it's still a comparatively small gap between it and FORTRAN from 40 years later than if we were to compare the operating systems, applications or user interfaces from similar time spans. I can still figure out what it's supposed to do. I'd be completely lost if you put me on a batch terminal or a VAX/VMS prompt.

The last really transformational idea in programming languages hit the world the same year I was born -- in 1980 -- with Smalltalk. There are a lot of variations on the themes of functional, imperative, and object oriented languages, and I expect new metaphors will evolve, but it's interesting seeing that really, now for at least the last almost 30 years, we've basically been remixing ideas.

And that's where I'd revisit Java for a moment -- perhaps the only transformational change that it brought to the table was the use of a formalized VM in a widely popular language. Even if Java's VM doesn't survive, I'm pretty sure that's a notion that we'll still have in programming environments for many decades out.

Re:Yegge, Clojure, and Arc by gruseom on Saturday February 07, 2009 @02:23AM (#470916)
I don't mean to be pedantic, but Smalltalk is a lot older than that (think 1971). Which raises the interesting question of when the last truly fundamental innovation was.

Edit: it's an interesting enough question that I posted it separately: http://news.ycombinator.com/item?id=470927.

Re:Yegge, Clojure, and Arc by wheels on Saturday February 07, 2009 @02:50AM (#470935)
Wikipedia said 1980 was when it was publicly available, so that's what I went with.
Re:Yegge, Clojure, and Arc by ajb on Saturday February 07, 2009 @03:54AM (#470970)
As far as VMs go, I have a horrible suspicion that the x86 will still be with us in 2109. For a while it looked like we might be able to abstract it away, but EC2 and its clones seems to have entrenched it again.
Re:Yegge, Clojure, and Arc by wheels on Saturday February 07, 2009 @06:21AM (#471059)
The x86 may live for a good while, but within a couple years there will be far more "computers" running ARM processors than x86.

I expect the CPU architecture landscape to change most radically as the lines become indistinguishably blurry between telephones, computers and entertainment consoles.

Re:Yegge, Clojure, and Arc by anamax on Monday February 09, 2009 @12:20PM (#473759)
> The x86 may live for a good while, but within a couple years there will be far more "computers" running ARM processors than x86.

x86 isn't Intel's highest volume ISA by a couple of orders of magnitude - 8051 is.

I suspect that x86 is behind several other microcontrollers.

Re:Yegge, Clojure, and Arc by nostrademons on Saturday February 07, 2009 @12:31AM (#470832)
Java's more likely to survive in the same way COBOL survives today, just based on who their target audiences were and what kind of programs were written with it. There's lots of COBOL code out there, but nobody wants to maintain it.

2019's only 10 years away though, and 10 years is relatively short in programming language terms. 10 years ago, the languages commonly used in industry were C++, Java, VB, Perl, and PHP. Today, substitute various ECMAScript variants for VB and Python/Ruby for PHP & Perl, but it's basically the same.

Re:Yegge, Clojure, and Arc by pg on Saturday February 07, 2009 @12:34AM (#470833)
Sorry, I meant 2109, not 2019. Fixed.
Re:Yegge, Clojure, and Arc by jwilliams on Saturday February 07, 2009 @03:29AM (#470956)
In my view it's already legacy today, or very very close... There is a massive body of Java code that is firmly in maintenance only mode (in corporates I should add - and mostly fin services).
Re:Yegge, Clojure, and Arc by plinkplonk on Saturday February 07, 2009 @12:28PM (#471271)
And what do you see it being replaced by? Ruby? C#?
Re:Yegge, Clojure, and Arc by jwilliams on Saturday February 07, 2009 @07:31PM (#471629)
It's a mixture, of which one is certainly still Java.

Suffice to say, over the last 2-3 years I've seen a lot less of the "let's build a large J2EE project". There are also a lot of large Java platforms out there (e.g. Internet Banking platforms) that are no longer under active development - maintenance and feature enhancements only.

Organisations that once had large Java engineering rooms seem to be breaking them up.

The biggest influence is outsourcing and offshoring. To an extend, big corporates don't really care about the underlying tech - they outsource to (say) Infosys and it's up to them how they actually implement it... and as a result, this varies greatly. The big outsourcers are still dominated by Java and C# (which C# gaining ground). The smaller vendors are much more varied, with Ruby and Python starting to feature a lot.

In terms of new technology, there is a focus on things like Process Automation, Business Rules Engines, etc. I worked on a large imaging/workflow project recently that was almost entirely Ajax + Process Engine + Business Rules Engine.... (Admittedly, Java did underpin most of these components).

Re:Yegge, Clojure, and Arc by sigh400 on Sunday February 08, 2009 @12:59AM (#471898)
I am with the school that the JVM will become primarily a host for other languages and that Java (the language) will move towards legacy status in the next few years.

Clojure, Scala, Groovy, JRuby, JPython etc all are moving in interesting directions and Java is too mired in backwards compatibility and politics to do anything truly interesting.

Java the language is very much closer to legacy then it is to innovation for sure.

Re:Yegge, Clojure, and Arc by fogus on Saturday February 07, 2009 @02:35PM (#471398)
If I had to guess, I'd say Scala.