Pearson Education Home Higher Education HomeInstructor SupportStudent SupportAbout UsCareers
Bookshop
Texts & Technology
ABOUT THIS PRODUCT
Description
Table of Contents
Features
Appropriate Courses
Preface
About the Author(s)
 
RESOURCES
First Day of Class
 
RELATED TITLES
Java--Intro to Programming/CS1 (Computer Science)
Apache Jakarta and Beyond: A Java Programmer's Introduction
View Larger Cover Image
View Larger Image

Larne Pekowsky, Capital Thinking, Inc.

Publisher: Addison-Wesley
Copyright: 2005
Format: Paper Bound w/CD-ROM; 608 pp

ISBN-10: 0321237714
ISBN-13:9780321237712Help icon

Our Price: £35.99
Status: This title is ordered on demand which may result in extended delivery times.

This title is not for sale to the US or Canada.
Add this item to my shopping basket


Add to Exam Copy BookbagAdd to Exam Copy Bookbag PrintPrint Product Information

Preface

This book is about developing more effectively and more efficiently. There are many ways to do this: development paradigms, data structures and design patterns, intimate familiarity with the language of choice, and learning from other good developers, to name just a few. One option is so ubiquitous that it is seldom discussed in detail: using existing code to simplify the task at hand.

What will become evident over the course of this book is that learning to use tools effectively also helps in many other ways. Some tools are designed around a development paradigm and make the adoption of that paradigm simple and natural. Some tools facilitate the use of particular data structures or are designed around specific design patterns. Some tools use Java in interesting and novel ways.

The last category--the opportunity to learn from other developers--is not included in most toolkits. This is only one of many ways that open source offers additional benefits. All the tools in this book are helpful in their own right, and Chapter 1 discusses how the open source model has contributed to their high quality and usefulness. Beyond the direct utility of the tools is a feature that is hard to qualify. When using any of these packages a developer has not only a first-rate tool but a great deal of high-quality source code to study and learn from as well.

Who Should Read This Book?

This book is geared toward Java developers--those who sit in front of Java code every day, tirelessly constructing new applications, whether for their own use or that of their employer. Every tool in this book is useful for Web development, but only a few are Web-specific. Developers of client applications, Web applications, Web services, and all other manner of Java developers will find a wealth of information on these pages.

Technical managers, even up to the CTO level, can also benefit from this book. People who are responsible for steering entire teams in the most productive directions will find strong allies in open source tools.

Organization

Chapters 2 through 20 each cover a tool or group of related tools. Chapters 2 and 3 discuss tools that are entirely external to the application being developed. These tools provide environments and utilities that simplify the process of development itself.

Chapters 4 through 7 discuss testing tools, some of which require programming and some that do not. Testing is a critically important part of development that is too often overlooked. The tools covered in this book can help change that.

Chapters 8 through 16 discuss code packages that solve or simplify common problems. Many programs face common issues such as logging, working with databases, searching through text, and others. The tools covered in these chapters offer attractive alternatives to writing code from scratch to solve these problems.

Chapters 17 through 20 focus on tools for the Web. Chapter 17 starts with Tomcat, a powerful server for deploying Web applications. The remaining chapters cover toolkits that provide additional functionality and frameworks.

A Few Words on Development Environments

Because all the tools discussed are written in Java, they will run on any system witha JDK (Java Development Kit). All anyone needs to use these tools is a computer, a JDK, and an editor. However, having a good environment available will make development faster and more pleasant. There is no universally accepted concept of an "ideal" environment. To a large extent this will be determined by personal taste and often company policies. However, the following elements are recommended:

JDK 1.4. Most of the tools in this book will work with earlier versions of Java, but 1.4 offers so much more that there is no good reason not to adopt it.

A good text editor. Note that a text editor is just that--a program that edits text. Many integrated development environments come with powerful editors (such as Eclipse, discussed in Chapter 2). Many word processors can also edit plain text. There are times, however, when one needs to quickly open a configuration file, make a tweak or two, and save it. In these cases something small and light that starts up quickly yet provides enough editing features can be invaluable. Vi is a good candidate. It is available on almost all Unix systems, and a version for Windows is available from http://www.bulbous.freeserve.co.uk/vim16.html.

Source control management. This is essential in large groups where several people may be working on a project simultaneously. Even individuals may have a need to quickly revert to earlier versions of code. Everyone heads down the wrong road once in a while. A good candidate is CVS, the Concurrent Versions System. It certainly doesn't hurt that it is also open source. CVS is available from http://www.cvshome.org/.

A backup tool. Nothing is worse than losing a week's worth of work to a hard disk failure. CVS can also serve to automatically back up files, but there are also other options. Rsynch is a simple but solid choice, available from http://samba.anu.edu.au/rsync/.

Jikes. Jikes is a Java compiler from IBM that is significantly faster than javac.In the course of a day a developer may compile hundreds of files or a few files several dozens of times. It only makes sense to waste as little time as possible by making these compilations quick. Jikes is available from http://www.research.ibm.com/jikes/.

A good shell/command-line interpreter. Graphical user interfaces are wonderful for certain kinds of applications, but for many others a command line is both faster and more powerful. It is usually much easier to type acommand like java TestClass than it is to use an IDE to click through a hierarchy of available classes, load the class, then switch to another window to provide runtime parameters, then select a particular menu option to run the program, and finally switch to another view to see the results. Most of the examples in this book are meant to be invoked from a command line.

Windows users can bring up the venerable DOS prompt, but there are better alternatives that support features such as command histories, command editing, and advanced scripting. Bash or csh are excellent choices, and they are available on Windows as part of Cygwin, from http://www.cygwin.com/.

It should be stressed that none of these tools is essential to using this book, but readers may find them handy.

 
Pearson Education Home