Sun Microsystems,
Java's creators, provide a huge pile of utility classes to help with creating
GUI's, accessing the file system, multimedia actions, using a connected network
and Web based services amongst other things. At first glance Java can seem a
large and daunting language to learn, but I can certainly say it is far more
straight forward to program in than, say, C++.
The language itself is syntactically similar to C with additions for
objects and deletions for things like the standard libraries (these
functions are provided for in the utility classes), so is simple for
those of us coming from that direction. However, those of you that are
coming from languages like VB are in for a bit more of a syntactic and
functional shock, although the overall concepts remain roughly the same.
Due to the base functional similarity of the language to C it is extremely
versatile allowing you to program easily, and at least for me, in a
fairly familiar way (albeit with the added usefulness of objects). The
language is available on all the popular platforms and, as far as I have
so far found, totally for free too. These characteristics make the language
very attractive, I would recommend it highly to those programmers
striving for the re-usable code ideal.