From .NET to JVM – a cultural shock

World was limited when I was with .NET,  with Windows. It was controlled by Microsoft. Waited for newer versions, and whenever it came out, I was like a ecstatic child, overwhelmed by Microsoft’s Santa Claus like role.
So when I moved to Java, my first cultural shock was absence of any Godlike authority. Nobody will say do this and this is the [only?] way.
My first problem was where to start? I wanted to do a web application. Now, which framework to choose? What is the difference between Java EE and Spring? Its like a whole new world.. Eclipse or Netbeans or Idea? Maven or Ant or Gradle? Why am I pushed to take a decisions about everything? If you say, one can always choose a framework where he will get everything he wants for his tiny to mid sized solution, but then, choosing that suitable thing is itself another big decision to make.
In Java world, they have something called community process. Very much democratic, participatory and lengthy. There are different groups of people. Some like standards, some don’t wait for community, just create something easy and powerful. Lots of opinions.
Biggest bunch I see are the people who mix and match. And so considering the various options at every point one has, it is highly likely to find oneself in the middle of a very weird mix. And you poor user end up with some unsolvable dead-ends. After a while you might find out it was a silly version mismatch. As a good JVM user, you should be a good problem solver and a very good Google user.
This Java world is very enterprisy. When I see projects like Drools, Camel, Akka, JPos, Axon Framework… wow! That shows the wideness and variety and also overall maturity of the ecosystem.
After a certain period, I too, thought about the best mix. For me, it will be written in Scala, on Play Framework. There will be Akka actors to solve concurrency and fault tolerance. Drools to externalize complex and ever-changing business rules. And for storage it will be a mix. Probably Mongodb and Oracle/MySql. The project I am thinking about will solve problems of a  financial domain.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: