I am an old Lisper, and recently I have been enjoying Squeak Smalltalk too much. So why do I enjoy (and use) Java so much?
I used to write GUI apps (commercial products on Xerox 1108 Lisp Machine, Mac, Windows), but now, I most enjoy writing web apps for a variety of reasons: I like maintaining application data in one place. I like exposing application classes with both web interfaces (i.e., JSPs, struts, etc) and SOAP/XLM-RPC/REST interfaces. I like the ability to do live updates. I have dreams of selling software services for NLP and AI: writing complex software that ‘lives’ on a server under my complete control, yet usable by many people.
Sure, with Java you give up late binding, continuations, etc. However, the awesome and free tools like Tomcat, Prevayler, SOAP/XML-RPC/REST libraries, incredible development tools like IntelliJ, etc. make using Java a slam dunk for some types of projects.
There are alternatives. I once signed up for a year as a VisualWorks Smalltalk VAR – great web services support and good development and deployment tools. Problem was, my customers wanted systems built in Java – that was what the demand was for. The free Squeak Smalltalk system is a rougher, but very good alternative to VisualWorks: good SOAP support, decent tools for doing web apps, lot of fun…
Popularity in a programming language can be a good thing, and Java definitely has popularity.
I have always respected people’s choice in programming languages and tools. Unlike a lot of people on Slashdot, I think that knocking someone’s choice in programming language is as silly as dissing on their politics, choice of mates, or religion.
Diversity is what makes the world interesting.
That is one more reason I like developing web applications and services: you really are free to use the right tool for the job (with customer approval