<< Reintroducing Jini 2.1 | Home | Java's Game Changing Move: The First Step >>

Jeff Brown's Handful Of Languages

Jeff Brown, as quoted on Code To Joy: Scala, Erlang, and Haskell should be on your list for experimentation, and, well, Groovy and Ruby are simply required.

I'm glad to see the list of hot languages keeps on evolving.

At the end of the day, it is what people can do with a language that drives the adoption of a language.

The mathematician in me applaud any language where functions can be defined the most natural way:

hyp(x, y) = sqrt(x^2 + y^2)

Scala and Haskell comes really close to the ideal. However to popularize these languages, something that is uniquely doable in them has to be invented.

The sudden prominence of Erlang is the result of the "It's the end of the free lunch" multi-core scare from Hurb Sutter. It's all the rage in the blogosphere.

As to the Groovy and Ruby comment, I think a more accurate statement would be "Groovy or Ruby is required." I would have thrown in another disjunction "or something like them," but that would make the statement too crowded.



Re: Jeff Brown's Handful Of Languages

I think you are absolutely right about the idea that the adoption of a language is driven by what can be done with the language.

What I suggested to folks was that they learn a language that is fundamentally different than Java. I think learning Groovy and/or Ruby is a great thing for Java developers to do but in addition to that I think learning a language like Haskell will force some folks to think about their approach to programming and a result of that will be better software designs. Even if you are near certain that you won't get to use Haskell or Scala at your day job, your day job will probably benefit from your knowing how to solve problems in languages like those.

Re: Jeff Brown's Handful Of Languages

I agree with your thesis that familiarity with several styles of programming is beneficial to the programmer, even if the day job is only Java or C++.

However, I believe a distinction needs to be made between the just-for-fun languages and may-be-important languages.

The programming language research community has been putting out languages left and right that introduces interesting programming paradigms. But very few of them gets the attention that is needed to make them usable in a production environment, or as a mass market language.


Add a comment Send a TrackBack