Most people who read my blog are java programmers, I think. If you are, and you didn't migrate to Java from another tribe in order to find a job, go learn another language, start right now. Pick a category and pick one, or pick one from each =)
Languages which will make it hurt to use Java again
Languages which will make you smarter and are even useful
Language from which Java's replacement will get its ideas
Languages if you don't want to stray too far from Java
Most elegant language first implemented on the JVM (which seems to borrow a lot of ideas from ocaml ;-)
Thank you to Bill de hOra and Tim Bray for prompting me to say this now rather than later =) Java is a nice language, but it is far from the end of the world. It is well suited for what it was designed for, taking C++ programmers a step closer to Lisp, and building really big systems with really big teams of $programmerish_titles. That isn't most development, it is simply the most expensive.
writebacks...
Languages that will pay your paycheck: Java
If you are satisfied with what you are doing and the size of your pay check, by all means, stick with Java =) It leaves the high end jobs for the motivated people who like to stretch their brains.
Where are these high end programming jobs? My salary is already 6 digits. If someone will pay me more to program in Groovy, I'd be more than happy to learn it. Please share.
High End
It isn't programming in groovy that makes any difference -- I doubt anyone could get paid to do groovy fulltime. Haskell, ocaml, ruby, python on the other hand you can make a living writing (though more difficult, possibly, than in Java). The difference is in learning, and expanding how you can think about problems. Not saying you (dear anonymous poster) haven't, but that a lot of people haven't. A language shapes how you think about problems to how the language designer thinks you should think about them. That isn't always the best way -- a good language (which Java certainly qualifies as by any measure) will work with you to fit the problem, but working to fit, and fitting better are not the same.
So, you are saying that people who don't use Groovy, Haskell, Ocaml and Ruby aren't as good programmers as those who don't. Those who learn more and more about the tools they actually use, those who study patterns and business practices instead of languages, those who worry about architecture instead of syntax just are inferior. Oh... Sure.
Fallacies
I am not saying that at all, please don't put words in my mouth. I am saying that doing so will usually make you better. You may well be the most capable programmer alive today, but you will almost surely become more capable still if you do expand your tool box. It isn't worth discussing if your goal is to twist what is said rather than hear what is said.
I'd put it this way: the better programmers do indeed tend to be people who are curious about the possibilities of better ways of expressing programs, and the possibilities of finding new and different ways of thinking about programming. See http://www.pragmaticprogrammer.com/developers/loty/ for one suggestion that the Pragmatic Programmers made...
comment...