BT

Programming Languages: 2008 Review and Prospects for 2009

by Sadek Drobi on Jan 09, 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).

Concurrency was one of the first topics to be defined as an upcoming theme of the year even though it was argued that it “won't go anywhere because the current paradigms […] and architectures […] can't deal with it very well”. Many equally ambivalent predictions concerned functional programming languages. Haskel was supposed to “rock the blogosphere” without being widely used as such, but rather becoming an inspiration for new features in more mainstream programming languages. More generally speaking, some expected that “no functional language [would] become significantly popular”, while several other bloggers had far more optimistic prognoses for F# and Scala that were to “enjoy large uptakes”, at least through the development of "multi-language" projects“ in some combination of F#/C# or Scala/Java”.  As far as other languages were concerned, Java was supposed to become “more entrenched”. And the same was to happen to Ruby that would be undermined by the downtrend of Rails. On the contrary, C++ with its new ISO standard for 2009 was expected to “become the language-of-the-year in 2008” and Javascript to gain more momentum.

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.

The discussion moves from 2008 to 2009 and a number of new predictions are made. In the field of functional programming, James Iry expects great things from both Clojure and Scala teams while Falcon argues that “2009 will be a year of clojure rather than scala” and expects F# to be finally brought “to the attention of mainstream .NET developers.” Ross Smith, however, reiterates the prediction of last year that functional programming will enter the mainstream rather “by being incorporated into pre-existing procedural and OO languages”. He also believes that “the new C++ standard will become official”, “concurrency, including GPGPU applications, will continue its rise in importance”, “Python will start to bleed users specifically because of [its] lack of good support for concurrency” while “JavaScript's star will continue to rise”.

Xscott goes along the same lines about JavaScript predicting that it “will eventually become the popular server and application scripting language - mostly because of it's various JIT compiling implementations”, whereas Kay Schluehr believes that it “will not expand on its niche”. On the other hand, he thinks that “one of the great-future-of-programming hopes like Perl 6, Rubinius or PyPy [will] finally [reach] a state where programmers other than core developers start to show interest.”

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.” 

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

+1 for Clojure / 2009 by Kacem Boufelliga

Scala is a good evolution from Java. And so if someone is looking for something different with more power (it has many nice features including Erlang like Actor) and lighter (in the sense of functional lighter) then it will be an easier transition since the syntax is similar to Java.
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.

concurent langs by Michal asd

what abiut erlang? it is classic in case of concurrency and it's getting more an more popular.

-1 for Clojure, +1 for Erlang by Daniel Sobral

Ok, I don't actually have anything against Clojure, except that I keep hearing it's just Lisp on the JVM. And I'm sorry, but Lisp won't become mainstream before the day programmers become liable for bugs and functional programming is shown to be the safest way to program.

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.

Cloud will be a big thing, and it will bring Javascript with it.

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 by Mark Wutka

You should probably take a more detailed look at Clojure before just labeling it as "Lisp for the JVM". It does support functional programming differently than other lisps with immutable structures and lazy lists. It also provides software transactional memory.

+1 for Scala by Pawel Badenski

I believe that Jonas Bonér did Scala a great service with this project:
jonasboner.com/2008/10/01/real-world-scala-intr...

I hope it gains some more attention, as the stuff they (Triental AB) did with Scala is IMHO pretty amazing.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

5 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT