REVIEW - Developing Java software

Title:

Developing Java software

Author:

Russel Winder, Graham Roberts

ISBN:

0471976555

Publisher:

John Wiley & Sons (1998)

Pages:

818pp

Reviewer:

Brian Bramer

Reviewed:

December 1998

Rating:

★★★★★

A book suitable as a learning text or reference for professional programmers developing large scale applications and as a set teaching text for courses where one is concerned with more than Java programming training...

...Highly recommended!

Being able to implement large-scale application programs requires more than learning the syntax of a programming language and designing and writing a few simple programs (even if some people who teach programming have never got beyond this point). Part one covers fundamental programming concepts starting with imperative programming, moving through abstraction to OO (using a stack as an example object). During this process Java syntax isintroduced as the implementation language (covering variables, methods, objects, arrays, APIs, threads and exceptions). It is not until chapter 7 (page 81) that a complete program (a Queue class) is implemented which uses the knowledge gained so far. Part one concludes with an overview of the programming process and a design example (to simulate the account management activities of a small bank). Part two (from page 127 to 322) is a reference to the Java language. Part three (to page 656) is 'Building Class Libraries' covering not just programming techniques but discussing in some depth algorithms for linked lists, queue, stacks, trees, heaps, hash tables, searching and sorting. Part four contains case studies in Java program design and implementation, a mail merge system, a traffic light simulation and an ant simulation.

A book suitable as a learning text or reference for professional programmers developing large scale applications and as a set teaching text for courses where one is concerned with more than Java programming training, e.g. computer science, software engineering, IT, etc. Parts one and two could be used for an introductory programming module using Java. Fundamental concepts, techniques and algorithms are discussed which are applicable across a range of programming languages and styles. Part three could be used for a further programming/data structures module and part four for more in- depth project work. Highly recommended!


Book cover image courtesy of Open Library.