Jon said:
I see. So Java is used predominantly in large companies for database work
and (guessing) intranet web services. Presumably that might be anything
from software to run vets practices to airline ticket reservation systems
and so forth?
I think around 90% of all computing is large companies with database
work. It doesn't matter if you are programming Cobol, BASIC, C, C++,
Java, C# or what. That's where (approximately) 90% of the jobs are. By
comparison, everything else is a niche application, with the possible
exception of Microsoft OS and desktop applications.
Besides large companies and their databases, I've seen Java used for
"small-shop desktop applications." That is, a small shop of 1 to 5
developers, who want to deliver a desktop application to an end user.
Here's one example:
http://www.gokgs.com/
(See their download link.)
In this space, I think Java competes with Python, TCL/TK, Visual Basic,
etc. and other "rapid prototyping" languages. It's the relatively fast
design work, coupled with an easy delivery mechanism (JWS) that make
Java attractive here. Java is also a much more rigorous language than
other rapid prototyping languages (that I have tried), which make it a
good choice for an application that will transition to a long
maintenance phase.
Java also seems popular for some embedded applications, especially on
phones.
Personally, I think it's this combination of wide availability, faster
start-up, and better maintainability that make Java popular.