Back than, I was an average Java coder. I used to code PHP web pages before, I was very aware of the world of static/type-safe languages and world of dynamic languages - in fact, I cannot imagine myself having to use a dynamic language on a complex long term project. It is a part of my personality. I hate making mistakes. I need reassurances flowing towards me non-stop. Strong types helped a lot. Generic in Java 5 helped a lot. Once, I had to work with Java 4 again and the difference to Java 5 seemed similar to difference between Java 4 and PHP (well, I am exaggerating a lot now).
Despite this ... My daily coding was never ideal with Java too. I was never able to write piece of code for a whole day long. There was always this feeling, that I am loosing it, that I cannot comprehend what is going on in the code anymore, that I am unable to simulate the logic in my head anymore. This lead to frequent compiling and testing and verification cycle. And frequent bugs reported by test teams.
One could say, that I didn't feel comfortable with Java, but the fact was, that I was pretty happy with my language. After all, I knew how bad it could be with dynamic languages. And back than, I couldn't exactly identify, how a better language for me would look like.
There was no particular reason, why I was interested in new technologies and alternatives. I was just broadening my views, filling my spare time. For me, Scala language was an attractive topic because of it's author - Martin Odersky. There are many voices on Java and programming in general out there, so whose voice and arguments have the strongest credit ? For me, it was M. Odersky, because of his real contributions to the core of Java language - javac compiler and generics.
In this blog, I'd like to write about my experiences
- How coding in Java is so much harder, since I laid my hands on Scala (and partially Haskell)
- How the whole business of Software development could by so much more bug-free and fun too, only if ...