Will there even be a next big language?
The ongoing discussion about Javascript as the “next big language” seems to assume that there will definitely be a next big language and it is simply a matter of clairvoyantly predicting which will be the one you should immediately begin placing all your eggs into.
Steve Yegge has arbitrarily, matter-of-factly hypothesized ECMAScript to be the chosen one without much justification. Others are gambling on Ruby. Meanwhile, Microsoft, the lumbering giant that no longer scares the shit out of people, is borrowing some features from the ML family for the next release of C#; it is definitely staying well within the boundaries of strong, static typing. The Java community has realized the folly of overly complex infrastructure like EJB2 and now are happily zooming along with their outstanding IDEs and XML-addicted frameworks; the smarter elements of them are looking for something beyond Java, preferably one that doesn’t involve abandoning the JVM altogether, like JRuby. There’s still so much informational asymmetry and inefficiency in how technologies are chosen and used that Java, C#, Ruby, and PHP aren’t leaving the scene anytime soon.
Doesn’t the lack of clear consensus here indicate that there might not even be a single winner to arise from all this? Even within individual communities, fragmentation is occurring. There’s already multiple Ruby implementations with more on the way. Ruby may fragment into 2.0 and pre-2.0 groups when the time comes. There is no clear winner for how to do object-relational mapping in .NET. Framework proliferation continues in Java, even for specific parts of the development stack; do you know how many Java template/view layer frameworks there are, not even counting the more popular ones like Tapestry, Velocity, and Wicket?
This along with the interest in domain specific language construction seems to clearly indicate that there will not be a single leading language that gains mass adoption.
Maybe I’m misunderstanding what is implied by “Next Big Language”, indicating that may be something wrong with the terms of discussion: do we even know what we’re speculating on?
Therefore, speculating about what will happen in the next few years (a futile exercise I try to resist, even though I’ve engaged in it several times in this post) should not be predicated upon an assumption that we will all gravitate towards one language like insects drawn to the light, especially when that once and future language might not even exist yet.
But, feel free to arbitrarily declare that your language of choice (Scala, Ruby, JavaScript, Erlang, …) is “the winner.”