First Edition – Reviews

There have been very positive reviews of this book by Francis Glassborow (the then Chair of what was then called the Association of C and C++ Users but is now just called ACCU) in CVu 10-3, March 1998, p.40 (ISSN 1354-3164) and by Brian Bramer in CVu 10-6, September 1998 (ISSN 1354-3164). Francis has asked us not to reproduce the reviews here but instead to link to the ACCU Web site. This seems a most appropriate use of Web technology and we are happy to do this! The ACCU Web front page can be accessed by clicking here. Francis' review can be found by clicking here and Brian's review by clicking here.

The March 1998 issue of CVu has an insert listing "Recommended Books". This book is listed in that listing with the note:

If you want to learn to program this is an excellent book as long as you keep in mind that Java is not going to meet all the programming needs of all programmers. ...
Very much recommended. By the way both authors will be speaking at our conference in September and on the evidence of this book, both should be well worth listening to.

Harold Thimbleby mentioned this book in an article, "Sailing to Java", he wrote for New Scientist, 28 March 1998, p.52. This two page article covers a total of 15 books so the coverage of each is fairly small! The following snippet from the article relates to this book.

Java is now used in settings from the Mars Lander to the military, and has been embraced as the solution to all programming problems. True or false, no one yet knows. Meanwhile, hundreds of universities have set up programming courses using Java. Hence the flood of Java books.
Sadly, few of these are suitable for university courses, most being little more than recipe books for short programs, or applets, as Java users call them...
Java's adoption into the syllabus will eventually make many older course books obsolete. Developing Java Systems is ready to fill the void. Its 818 pages provide a pretty thorough curriculum – all in Java – from basic programming and core algorithms to software engineering issues. It will be a useful single-book reference for anyone wanting to program well.

In the June 1998 issue of EXE magazine, Gavin Smyth wrote the following about this book. This review was the second in a piece that reviewed four books in total.

Developing Java Software is much more academic in style that the other books: it places less emphasis on Java and much more on software development and the writing style is not as informal. This book really does teach programming design and merely uses Java as the language of implementation. The Java language is covered adequately but the standard libraries are only mentioned in passing. For example, AWT is barely touched upon, although the book will teach you more than you want to know about AVL trees. (With the lower price of this book, you might be able to afford one on AWT too!) There are a large number of clearly explained and realistic programming examples, including relatively large and complex applications from a number of domains. Usually, the examples are approached from several directions and the trade-offs explained. Winder and Roberts treat the reader as an intelligent learner and do not tend to belabour minor points of syntax as other books do. Verdict: Recommended if you are completely new to programming.
Given that the ideas and attitudes this reviewer has gleaned from our book are exactly those that we were aiming to generate, we feel rather smugly proud that we have achieved exactly what we set out to achieve.  Except...we obviously over-emphasized some aspects of AVL trees!

In the July edition of Scientific Computing world, Dwayne Branch wrote the following.

Java Programming for object-oriented design
The Java programming language was developed by Sun Microsystems in the early 1990s and was originally intended for embedded systems in domestic electrical appliances. In the past few years, however, Java's compatibility with the platform-independent philosophy of the Internet and the World Wide Web has made it a popular programming language.
Java is a general-purpose object-oriented programming language that is also gaining popularity in the scientific community. One of the most important and attractive features of Java is its portability. It is an architecturally neutral language that allows the same programs to run on different machines. This is of particular interest to computational scientists who use and exchange software across a variety of platforms.
Instead of trying to compete with the many Java reference manuals available, this book attempts to present a systematic framework that may be used to design and develop object-oriented software using Java. In the words of the authors, "this book is about programming first and Java second".
Developing Java Software is divided into four parts. The first introduces object-oriented programming by emphasizing how object-oriented concepts are included within Java. The second part comprises a brief reference to the basic features and language constructs of Java. Part three introduces ideas for proper library design using the basic abstract data types – lists, queues, trees, etc. – as examples. The last section of the book contains complete programming examples that contain step-by-step descriptions of the design and development of several Java applications. A discussion of the problems and errors encountered during application development is also included.
Intended primarily as an introductory computer-science textbook, Developing Java Softwarewas not written specifically for the computational scientist and leaves several scientific features of Java undocumented. Java's standard library maths facilities are not covered, nor are any details of the formatting of numerical output. The index is also disappointing because it omits several important keywords. This makes it difficult to find certain language constructs.
Despite these flaws, Developing Java Software is a readable guide to the object-oriented design process. While the many examples are written in Java, the authors' approach to design is applicable to any object-oriented programming language. For those interested in using Java for large-scale project development, or those interested simply in a practical guide to object-oriented design, this book will provide valuable guidance.