Vividly I recollect the day when I encountered the Java programming language.
It was a simple language, quite a contrast to the languages I knew at the time. Some where powerful, if bloated and complex monsters like C++. Others where simple, but you could not do everything you wanted to do.
Who! What a cool language. Really fun, really productive.
As years passed by, I began to realize I was doing the same tasks over and over again. Those tasks became tedious and boring. Nowadays they often make me feel tired. Popular frameworks like EJB 2 did not help, either – you could do virtually everything with them, but they suffered from a lack of simplicity. Quite the contrary: they a a certain tendency to bloat my code even worse.
Then I met Groovy.
Suddenly I realized what I was suffering from. Java´s great virtue – simplicity – had gone lost during its evolution. Sacrificing Java compatibility allowed the Groovy language designers to create a simple language. Well, maybe the language is not simple. But it allows you to express your thoughts in a simple, concise manner. Being able to write simple-to-understand algorithms is something I value more than simplicity of language design.
Quite a cool language, making me enthusiastic again. But – not quite enthusiastic as Java when I knew it.
Problem was, I met the Scala programming language at the same time. And I liked it even more than Groovy. Obviously the language designer looked carefully at the pros and cons of many programming languages. Than they designed a simple language that allows you to express your thought in a simple, concise way. So Scala is even better than Groovy. If only… well, Scala makes a lot of things different than Java. So you have to learn it before getting productive. Groovy´s approach – 99% Java compatibility – is quite a clever trick. Really seductive.
All right, I admit it: concerning to programming languages I a promiscuous. I try to choose the language suitable to the task at hand. And thats all right, this is the way it ought to be.
Reading this, you may have noticed how much fun programming is to me. This blog is dedicated to share my excitement with you.