Picking a JVM Language

This interactive page is a supplement for the presentation titled "Picking a JVM Language: Which one is right for you?"

Each project and team has different needs. It would be naive to make a recommendation without knowing the context. Rather than telling you what's right, I hope this tool will help you and your team to pick what's right based on your project/team contexts.

You may find the table below useful to rank different languages on various capabilities. For example, you may give 9 points for Java in the area of static typing while giving Groovy or JRuby higher points for metaprogramming.

What a language can do is helpful to know, but we should care more about how important that feature is to our current projects. Use the "Weight" for this purpose. If we would make good use of a feature, give it a value close to 10. If we don't care as much for it, then move that number down toward 0. The languages that shine well after you fine tune your numbers are the ones you may want to evaluate further.

Hope this is useful. Please send your suggestions for improvement to venkats@agiledeveloper.com or post a comment at this blog. Thanks.