Java Reference
In-Depth Information
The point to all this is that there is a thriving software ecology around tools that make Java de-
velopment easier and aid in the production of fully tested, bug-minimized code. [ 58 ] The com-
bination of the ubiquity of the Java platform, the open source movement, and the distribution
mechanism of the Web means that developers can write the tools that they need without hav-
ing to justify their investment via a business plan or market projection. Developers know what
they need, and if one developer needs something, it is likely that others will find that thing
useful as well. The user interfaces may not be polished and the documentation may be minim-
al, but these tools aid in our work and are worth the time investment to find and learn.
Of course, there is also a lot of crap out there. Just because a developer has written some code
and is willing to give it away doesn't mean that the code is going to meet your needs, be stable,
or work. There are many examples of offerings to the community and the ecology that are at-
tempts to codify a particular developer's prejudice on how code should be written, developed,
or used. Many of the prejudices are odd, if not simply wrong. Like any software, tools found
in the Java ecology will vary in quality and usefulness, so you will need to check each one to
find out whether it works for you. There is a lot of chaff out there, but the occasional bits of
wheat can help make your life better.
The other point is that whatever tool it is that you need as you develop your code, you can
probably find it on the Web already. It may not be exactly what you want, but if it is open
source, you can make the changes so that it is. Just as the collections library in Java means
that developers should not need to write their own basic data structures, the ecology of Java
tools means that we generally don't need to write our own development support. And that is
always a good thing.
The ecology is more than just tools. You can find prewritten libraries of Java code that do lots
of things, from graphics to databases to agent systems. Again, some of these are good and oth-
ers less so. There is still work involved in using these libraries, but this is rarely as much work
as writing the code yourself if you weren't using the library. The trade-offs between using (and
perhaps bending) existing code and writing from scratch will differ from programmer to pro-
grammer and from library to library. The simpler the code, the easier it is to understand and
trust, but the less time it would take to write it yourself. Really complex code may be trusted
only because of its reputation. Most programmers underestimate the amount of time it would
take them to write some bit of functionality, and many would rather write code than read a
manual or documentation for some existing code. Nonetheless, you can save time, effort, and
money by taking a look around to see what is available prior to diving into the coding your-
The power of this ecology is hard to overestimate. All of the tools and code that already exist
and that are freely available act as a force multiplier for each member of the Java community.
Search WWH ::

Custom Search