The IDE – the Racing Car

Since I have started to develop software professionally, I have ever used an IDE. Initially under C ++ using CodeWarrior on the MAC – then later on Microsoft Visual C++ on the PC. After 1998 I’m „speaking“ Java from JBuilder to IntelliJ IDEA and Eclipse.

Although some swear by VI / EMACS, I can not understand that. I enjoy Code Completion and especially refactoring (including version control integration) and Code Assist.

So you can already get started pretty fast …

Accelerating  with Groovy

But You only have the most fun using a „modern language“ (object functional) on the JVM. When I heard a lecture by Dierk König about Groovy at JAX few years ago, I was infected immediately. The clarity, sophistication and powerful language features are stunning. And a lively community offers something for every purpose.

Meanwhile, Groovy-Eclipse has caught up compared with IntelliJ IDEA, so you no stress with „dynamic codes“, which is displaced underline. There is a DSL Support offered, for using the Groovy meta feature, for a great experience of internal DSLs.

All my model transformations I’m coding with Groovy. That is much more robust than Xtend and you get a very good debugging toolchain – even in closures. And when something goes wrong during runtime, the Exception says kindly which candidate is suitable for a „missing method“ . Really great Stuff …

Dynamic Scaffolding – the Turbo Boost

My favorite feature to encase productivity is using the Idea of Dynamic Scaffolding taken from Ruby on Rails web framework. Grails – the Groovy based Webframework – is offering it too. You only need to design your domain models and a basic UI is given without coding but can be exchanged by a more suitable version, only if needed.  In this way you can code a pretty powerful web application in a few hours all together. The conventions go even further, as there are for example Dependancy Injection of services by naming convention, quite handy.

This idea I have taken to my daily work – over – the creation of Eclipse RCP, model-based developer and system testing tools. From a rich type system, the UI is rendered dynamically, whether formulae, table, tree, master detail …

Therefore feature development is becoming a easy task and speeds up the overall productivity to an amazing level

And you only need to test the UI once …