Hmm. What i dislike about java:
1)
try / catch
I'm not the most experienced java programmer (a year or so while i was at school), but i really disliked having to check for errors from a method with two separate blocks of code. I disliked even more the fact that you had to know the specific exception that each method would throew. In java:
try { my block of code here}
catch {the exact error here}
While you sometimes have to do this in perl (eval and check for $@), usually you can get away with something like this:
open (FOO, '/var/log/messages') or [die||warn||carp] "There was a prob
+lem: $!\n";
2)
my.method.name.is.so.extremely.long.that.i.get.a.headache.reading.the.code.that.i.wrote. 'Nuff said.
Things i did like:
1)
The easy learning curve. Java is not a difficult language to learn. Everything pretty much conforms to some basic standards, so once you get used to the way things work, you don't have to kick yourself trying to remember obscure things like whether or not you want the scalar or array return or whether or not $< or $> is what you're after. Java + Java Beans also make it simple (in comparison to everything except VB) to generate decent GUI apps, even for someone without much experience in such things.
2)
Java is a true OO language. As much as I love perl, i would never recommend it to someone as a first language. While it is indeed possible to do truly OO coding with perl, perl lends itself more to linear tasks. And if you're suddenly forced to start working in an OO environment, your screwed if all of your previous coding experience was in BASIC, C, and perl (i can vouch for this personally).
Don't get me wrong; I'm not bashing perl. The company i work for does 95% of it's coding in perl, and the speed that one can churn out good working code is amazing compared to any language. Alot of our employees have had no previous programming experience at all, and most have become competent programmers in a few months. I believe the same would hold true if we were working in java exclusively, although I would have never started if that was the case, since good java development environment != linux or freebsd. Anyhoo, sorry for the ramble.
BlueLines
Disclaimer:
This post may contain inaccurate information, be habit forming, cause atomic warfare between peaceful countries, speed up male pattern baldness, interfere with your cable reception, exile you from certain third world countries, ruin your marriage, and generally spoil your day. No batteries included, no strings attached, your mileage may vary.