Wednesday, December 16, 2009

No Next Big Language... Dunno, I suspect we may be stuck with one.

I've just read Alex Miller's blog entry regarding the NBL (Next Big Language) or rather the fact that there will not be a NBL and that the age of multiple programming languages has arrived.

I like the idea and I'm all for it to take off...

It's just that in my experience companies, especially those who's core industry is not IT related tend to minimize risk as much as possible, and therefore try to stay as mainstream as possible.

Java after all, quickly got pushed into the mainstream by companies like IBM and Oracle throwing their weight behind it, And consequently companies adopted it - I daresay - because it presented a much lower risk than many of it's competitors at the time such as Smalltalk.

Furthermore companies seem to like to standardize on a programming language since it makes things like hiring and training and administration a lot easier.

Its also these companies which keep the bulk of the programming community employed.

Therefore as much the acceptance of multiple programming languages is growing among us programmers I see very little acceptance of it with these companies who fork out the majority of the cash to get systems built.

Consider that Microsoft talked much about multiple programming languages when it released .Net and after almost 8 years you will be hard pressed to find a lot of work being done on .Net which isn't written in C# or VB.Net.

Consequently then it's normal that one of the language will get used the most and therefore employ the most people and become the NBL.

Now having said that I think Sun-Acle may actually be in a good position to take the multi-language concept mainstream, more so than Microsoft in 2002. For one thing the JVM is still the most portable runtime around, furthermore it's battle tested and smokin' fast. It's also widely adopted, supported and well understood.

The JVM could allow a company to standardize on the infrastructure but pick the tool which will be the most productive for the development task at hand.

Of course if this idea takes of, then we our next debate will be on the NBR (Next Big Runtime).


Alex Miller said...

By the way, there will be no Next Big Runtime either... :)

Art Vandalay said...

In my estimation, the tendency to settle on a Big Language is due to strong network effects. The more people who adopt a language, the easier it is to deploy it, find developers and training, buy software based on it, and so on. Just to be taken seriously for real work, a language must reach a critical mass, but once it has blown past that point on its way to Big Language status, its rise accelerates past its competitors.

It's reminiscent of movie and OS popularity. The big ones pulverize competitors while the small ones can hang around in self-sustaining "special-interest" niches that complement rather than replace.

justinb said...

Aside from the vastly robust JVM, I like javac and it's derivatives (scalac etc) too.

If there is one, NBL must have a decent compiler at least.

bde said...

Thank you for this this post that gives us spirit and enlightement.

The one big language may be well suited instead of many due to education and productivity point of views. The problem is, which one to choose with many candidates in hand?

The most reproachable face of Java is it's strong class inclination. This is the fact that perhaps will prevent Java being the LBL. In that area JavaScript is by design is far more superior to Java. His first class functions and closures are really impressive. Of course, for the moment Java is better for type safety. Then these are the points that NBL has to offer.

In the other side ADA is the common child of the humanity and the result of the develpp,ng path of languages of PAcsal, Modula2 trail. An open source world, more than a language which is the triumph of the collaborative works. I think that ADA
has all the merits and better suited than Java for being NBL.

We hope the best will be adopted for the future.