May 8 - May 23, 2012
by Brian Kotek
I hadn't heard of The Code General before, but his blog entry on the big three JVM languages is worth reading. He attempted to calculate the relative popularity of Scala, Clojure, and Groovy using two fairly large polls. Based on the popular vote, all three are about even. However, job trends at indeed.com show that Groovy is significantly ahead of the other two. To be fair, these aren't scientific studies. Nevertheless, it's an interesting look at a question that comes up fairly regularly.
It seems hard to avoid an item on IntelliJ IDEA in Java Shots, and this installment is no exception. Jetbrains just released version 11.1.2 of their flagship IDE. Personally, I much prefer this sort of rapid, iterative release cycle compared to Eclipse's sporadic updates. Version 11.1.2 includes updates to their Android development tools, Adobe AIR native extensions, and Subversion 1.7 support. Beyond that, the list of minor bug fixes is long and covers the entire spectrum, so this is another must-have update for IDEA users.
Java classpaths are definitely not a simple topic. Whether you use ColdFusion, Java, Groovy, or anything else on the JVM, odds are high that, sooner or later, you will have questions about this fundamental concept. Bozhidar Bozhanov has posted an informative blog entry on the topic of runtime and compile-time classpaths. He sheds light on some confusing and problematic aspects. Users of Maven or IDEA might find it particularly useful since both tools let you specify whether dependencies are linked at compile or runtime.
Well-known programming icon Martin Fowler has weighed in on the subject of object-relational mapping (ORM). Apparently he's been hearing a lot of complaints and grumblings about ORM and wanted to offer his take on it. Object-relational mapping is certainly far from perfect, but, as Fowler points out, the complexity that many people dislike is necessary because ORM is attempting to solve a difficult problem. Dealing with the impedance mismatch between in-memory data and relational data is a significant challenge. As usual, Fowler's insights make this a worthwhile read, especially to anyone working with Hibernate, iBatis, or ActiveRecord implementations.
Brian Kotek is an Associate at Booz Allen Hamilton. He's been developing applications for over 14 years, using ColdFusion, Flex, Java, Groovy, C#, and other technologies for a range of government and commercial clients.