My love/hate relationship with Java
Recently (um, last month recently) Joel had a great blog on choice . I asked Tasha about the differences between sleep and hibernate and she came up with some answer that involved mammals. I love having a technology litmus test at home by the way.
When doing consulting I cross languages frequently and one thing has always bugged me about jumping into Java, choice. As a technologist I both love choice and hate it at the same time. I love the fact that new technologies are adopted much more quickly in Java and it's a great "proving ground" for useful ways of doing things but there's a serious cost that's rarely counted in this paradigm. In the .NET world when you want to do remote communication you've got only a few choices, and mostly MS will just push you into SOAP. In Java, there's choice and it wouldn't be so bad if not for the fact that in order to make an educated decision on one platform or another, one must learn to the point of understanding the pros and cons of each. To choose without knowing the risks and rewards of each choice is to drive blind and hope there's not a wall somewhere in your path (or that you've gained enough momentum to smash through said wall). In Java, you often have to find and understand many different frameworks and sometimes different versions of the different frameworks.
Granted, the existing environment often makes this choice for you but still... No one solution is right for all problems. This is true in the Microsoft world as well but you are forced to work around any built-in roadblocks and for the most part they're understood because there is no choice so people have worked around them before. In the Java world people just find a different framework that fits their needs and it's the act of "finding" that I call wasted cost. This is compounded when you leave and come back to Java because all of these little frameworks improve at their own pace so you can't count on your understanding of the landscape when you were standing on the playing field the last time.
Don't get me wrong, I do like Java. I like tinkering with new technologies and frameworks as it affords an opportunity to broaden my mind beyond the current Microsoft offering. I like .NET too because there are so many tedious things that are just done for you (accidental difficulties). Anyway, that's my thought from the morning commute.
0 Comments:
Post a Comment
<< Home