Programming Languages: 2008 Review and Prospects for 2009
In the beginning of the last year, Ehud Lamm launched a thread on Lamba the Ultimate inviting other bloggers to submit their predictions for 2008 in fields relative to programming languages (PL).
As an echo to this tread, James Iry asked bloggers at the end of 2008 to share their opinion on “what was noteworthy about 2008 as far as programming languages were concerned”.
Trying to assess the validity of last year predictions, Key Schluehr believes that concurrency was far from being the theme of the year. And, if there were one, it was, in his opinion, “cloud computing”, even though he considers that “this had little to with computing at all”. He also asserts that, just like Morris Johns expected, no functional language became significantly popular, which many other bloggers disagree with.
James Iry argues indeed that even though no functional language is at Java or even Ruby level of popularity, “the fact that languages like these popped up so brightly on the mainstream radar last year is not just significant, but huge.” Eli Ford highlights that “F# got its own CTP in September, and is now slated for a supported release as part of Visual Studio 2010, alongside C# and VB”. And Sean McDirmid argues that “as far as specific languages go 2008 was a good year for Scala”. “Clojure”, that was not at all mentioned in the last year discussion, is considered to be the discovery of the year by Chris Rathman who believes that it is a good example of how “to go about integrating existing concepts into a programming language”.
Along with Scala, Sean McDirmid mentions Objective C “as the real hot language of 2008 thanks to the iPhone SDK” and believes that 2008 was also the year of C vengeance with various forms of it being “used to program GPU hardware (HLSL, CUDA, OpenCL...)”.
On the other hand, several bloggers highlight that last year was not that good for Java. Sean McDirmid asserts that “JavaFX was late and didn't make the splash it needed to make”. If it is true that bloggers express some concerns about Java’s future, Daniel Weinreb stresses that “it's used in so many places now that we're very unlikely to see it disappear” and, according to James Iry, “it is still and will remain for quite awhile one of the a handful of "safe" choices for an IT manager”. Others question however the capacity of Sun to survive the current crisis and speculate about the future of JVM expecting IBM or Google to step in.
Kaveh Shahbazian believes that “one thing [that] is going to happen [in 2009] is finding new approaches to employ scripting” and names Lua as a successful example. And, last but not least, Sean McDirmid predicts that “no progress will be made on the static/dynamic debate.”
+1 for Clojure / 2009
However, my case included, I am looking for something fundamentally different and simpler not minding necessarly the complexity. A functional programming language is definitely attractive and even more if it can be on the JVM with integration to existing Java code. Clojure looks really promising.
At the end of the day, I still have ways to go before I drop Java altogether simply because of the professional requirement. In the meantime I will keep looking for the next episode toward more efficiency and parallel programming.
So +1 for Clojure for 2009.
-1 for Clojure, +1 for Erlang
As for Erlang, I won't say it's getting more popular, but it definitely seems to be getting more IMPORTANT. People keep getting back to "this concurrency problem is important, and Erlang does it well", though some disagree.
I wish 2009 became the year of transactional memory, but it doesn't look like it.
Java is definitely showing strains, but it's actually still working up on corporate world -- the more resistant to change part of the corporate world, but still big enough. So I see a big year for Java.
Ruby-detractors may keep wishful thinking all they want, but RAILS and REST is so powerful it will even get a traction on corporate world.
Python is actually on the increase, but it's flying below radar, so it's not easy to see.
Scala is getting a lot of attention too. IMHO, it's at the point where it better see some real world notable deployment, or people will start to dismiss it as a fad.
Concurrency won't be a big thing, because our 1000-cores processors are not here yet. In fact, not even our 8-cores.
In other news, someone will prove P = NP. I have no basis for predicting that, but if I turn out to be right it will be very impressive. :-)
no -1 for Clojure
+1 for Scala
I hope it gains some more attention, as the stuff they (Triental AB) did with Scala is IMHO pretty amazing.