BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Will Polyglotism and DSLs make Java the Last Big Language?

Will Polyglotism and DSLs make Java the Last Big Language?

This item in japanese

Bookmarks

Ola Bini has been arguing that the world will not have a new big language again because developers will find value in choosing different languages depending on their problem domain. Similarly Martin Folwer has argued that programmers will choose a language for what it can do in the same way that they choose frameworks now. On the other hand Joe Winchester debates that you can only be master of one language.

Ola Bini, on one of his recent posts elaborates on the different strengths and weaknesses of the type systems of Haskell, Java and Ruby, which make these languages difficult if not impossible to compare:

So, we have three categories of languages here. The strongly statically checked ones, like Haskell. The weakly statically checked ones, like Java. And the dynamically checked ones, like Ruby. The way I look at these, they are good at very different things. They don't even compete in the same leagues. And comparing them is not really a valid point of reasoning.

 

Ola finds hope in polyglotism where:

A good programmer uses his common sense to provide the best value possible. That includes choosing the best language for the job. If Ruby allows you to provide functionality 5 times faster than the equivalent functionality with Java, you need to think about whether this is acceptable or not. On the one hand, Java has IDEs that make maintainability easier, but with the Ruby codebase you will end up maintaining a fifth of the size of the Java code base. Is that trade off acceptable? In some cases yes, in

Finally he advises to:

Be good polyglot programmers. The world will not have a new big language again, and you need to rewire your head to work in this environment.

 

Joe Winchester, describes a very different point of view, in the editorial of Java Developers Journal. He believes that:

It’s possible to be master of only one language- either that or Jack of all languages and master of none.

Joe recalls the attempts of the Smalltalk community to make Java run on their virtual machine (the Universal Virtual Machine - UVM) and why he feels it was a nightmare to code in such an environment.

Finally he proposes that:

… we should be fixing Java, not doing VM hacks and increasing complexity just to embrace other languages that didn’t even exist a few years ago.

 

If we don’t back Java as a language, rather than some kind of nebulus “Java technology” thing, we’re just dooming it to incognizance by diluting it with other languages and increasing the entropy required to build good software

 

On the other hand Martin Folwer, has also suggested that  we may be entering such a period in which:

...will see multiple languages used in projects with people choosing a language for what it can do in the same way that people choose frameworks now.

 

and feels that a lot of things have changed since Smalltalk:

So are we returning to the language cacophony of the late 80's and early 90's? I think we will see multiple languages blathering away, but there will be an important difference. In the late 80's it was hard to get languages to inter-operate closely. These days there's a lot of attention to making environments that allow different language to co-exist closely. Scripting languages have traditionally had an intimate relationship with C. There's much effort to inter-operation on the JVM and CLR platforms. Too much has been invested in libraries for a language to ignore them.

 

There was actually an article on InfoQ last year that debated on if DSLs will bring the end of single language development.

What do you think? Will Polyglotism and DSLs become the dominant paradigm, leaving no room for a new “Next Big Language”?

Rate this Article

Adoption
Style

BT