After some inspiration the last few weeks, I decided to scrape together some spare time and have a closer look at the Scala programming language. This was kind of overdue because I am trying to have a look at new technologies at least once a year.

One major challenge is always finding an interesting topic which also has an appropriate level of difficulty. For my venture into Scala I choose a small open source project which I initiated two years ago called jaev. This small framework validates an e-mail address and also checks the domain (via the DNS). This project seemed to have the right size and so I decided to build a scala variant called saev.

This turned out to be a very demanding venture which challenges a lot of knowledge and beliefs which I have from my activities in the Java environment.I would be lying if wouldn’t tell you, that I already head some doubts on the proceedings in the Java community. Things like having no update on the JDK for about two years now, including the unfortunate discussions on lambda expressions in Java, are paralyzing the development on the language basis. On the other hand side I have no idea how to judge the acquisition of Sun Microsystems by Oracle.

I first stumbled over Scala when I still was working at scoyo, when my former boss was building a small script which was converting localized text into an XML format. I found the language it self quite interesting but when you are in the middle of a Java team it was not easy to get started with it and had other things occupying me more.

Beginning this year I was willing to give Scala a new chance after having a quick look at PHP and Ruby. Both of PHP and Ruby didn’t convince me so I bought a Scala book and read it. But I must confess after this lecture I still was interested but nothing more. But after attending the Developer Conference Hamburg 2011 I decided to give Scala a real try. So I bought another book especially written by Prof. Dr. Friedrich Esser for guys who want to change form e.g. Java to Scala. I just want to take the take the time to recommend this bookScala für Umsteiger”. Very well written book which shows you in the first chapter (approx. 100 pages) how to write the stuff you do in Java in the Scala language. An then fasten your seat belts ;-)

I am playing around with Scala for about a week right now, but I have to confess that I am somehow impressed and also a little bit scared. Let me explain why: Fist of all the syntactical power of this “post functional” language is impressive for someone who did Java for over ten years. You can describe many of your problem solution in a very simple way. But when you want/need you can always fall back into Java because Scala uses the Java VM as foundation. On the other hand side I met a couple of programmers which are nice people, but who would be overstrained by this. And to be honest there are always situations where I take both of my books and google to figure out what some code is doing and why it’s working. Don’t get me wrong I am pretty good programmer and I am using even complex concepts like AOP (aspect oriented programming) or dependency injection for a couple of years now. And I know the can cause lots of trouble and I am not sure if I should like @Transactional or not.

For my personal development I am quite sure, that I will continue to investigate Scala a little further. On the business side I am not sure if Scala will find a place in my development team. I said already ten years ago that you can use a bunch of trained apes to finish you Java project. It will take some time but the apes will figure it out. And that robustness is what you want on enterprise projects. Maybe for innovative companies or startups Scala is the language of choice or for companies which are willing to have polyglot development environment.