{ by david linsin }

May 03, 2008

Does IDE Support Influence Your Language Choice?

The talk about Groovy at JUG-Ka the other week got me interested. The language seems to have similar features like Scala, just a little more OO-like.

Another huge reason for me to make a little detour to Groovyland, was IntelliJ IDEA's excellent Groovy support. It's almost as good as with Java: you can create Groovy scripts, get code completion and run your code in the IDE. Just like you would expect it with Java code.

Scala's IDE support on the other hand is very rudimentary. The Eclipse plug-in is rather buggy and only helpful to a certain extend. The only reason why I'm using it is the editor. It gives you basic syntax highlighting and the fact that you are in your IDE comfort zone.

Right after getting my hands dirty with Groovy, a screen cast on Daniel Spiewak's blog popped up and demonstrated the potential of a new Scala Eclipse plug-in. It's still early and there's a lot to do, but it was enough to put me back on track with Scala.

For me, the most essential features of an IDE, especially when new to a language are: syntax highlighting, human readable compiler/error messages and code completion. There's other stuff like formatting code or easy deployment, which is not less important, but to get you started I think those three are indispensable.

I guess we all know the feeling, when we are sitting in front of our machine and trying to figure out what the compiler tries to tell us with its cryptic error messages. That's why I think proper compiler/error messages, provided by your IDE in a human readable form, are of tremendous value - even more than syntax highlighting or code completion.

To wrap this up and answer my own question "Does IDE support influence your language choice?": yes it does - at least to a certain extend. I have no problems with limited IDE support, as long as I'm not a beginner. I do admit that I like the comfort and features provided by an IDE. It just makes development so much easier! However, in my current project, I would just be happy if the mouse wheel worked in my IDE.


Daniel Schneller said...

I agree that learning a new language is way easier when you have code completion. In Groovy's case I think it's a little less important, as you probably know the Java libraries already, which makes it easier to get started.

David Linsin said...

I agree, Grovvy and Scala are very close to Java in term of API. The language features are quite different though. Having nice compiler error messages are therefore very helpful.


  • mail(dlinsin@gmail.com)
  • jabber(dlinsin@gmail.com)
  • skype(dlinsin)