Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
A Java library of graph algorithms and optimization (Discrete Mathematics and its Applications Series)
Lau H., Chapman & Hall/CRC, Boca Raton, FL, 2006. 400 pp. Type: Book (9781584887188)
Date Reviewed: Mar 19 2007

In 386 pages, this book contains 12 chapters and 55 sections. There is also a one-page introduction, a four-page reference appendix, a one-page appendix about graph-theoretic terms, and an index of procedures. Finally, a CD is included at the end of the book.

All of the sections are organized in the same way. First, some brief explanations about the background of the presented graph algorithm are given. Many definitions are lacking and the appendix about graph-theoretic terms is both incomplete and very difficult to read. There are some explanations of the asymptotic performances of the algorithm. Second, the parameters of the procedure are presented. It is remarkable that here, as well as in every other part of the book, the term “method” is never mentioned; remember, this is a book about graph algorithms in Java. The bulk of every section is devoted to the code of the so-called procedure; in almost all cases, it is a monolithic procedure indeed. An example—a short program with its input and output—completes each section.

If I open the CD on my computer, and read the code of some procedure in an editor like Emacs, for example, it is enriched with various colors and fonts, intended to improve its readability and understandability. Keywords are presented differently from identifiers or types, comments use another presentation, strings still another, and so on. So it is really disappointing to observe that the immense majority of book publishers, including this one, still think that programs must be presented in the most boring way, in a uniform and fixed-width font, as if present-day publishing methods can do no better.

If I browse the code itself, it is still more disappointing. The so-called procedures have a huge number of parameters (planarityDecompose has 33 parameters!). They never use recursion. They use a lot of Boolean variables, with names like skip, complete, controla, and controlb. Most loops begin with “while (true)” and use a lot of (often labeled) breaks or continues. Comments are practically absent.

All in all, these programs are impossible to read and understand, and their pedagogic value is void. They do not use objects in any way. In fact, one can suspect that they are simply Fortran programs manually translated to Java. Thus, one wonders what the real usefulness of such a book is. Printing the code is simply a waste of paper, and a 50-page booklet accompanying the CD would have the same usefulness.

Reviewer:  O. Lecarme Review #: CR134055 (0803-0230)
Bookmark and Share
  Featured Reviewer  
 
Software Libraries (D.2.2 ... )
 
 
Algorithm Design And Analysis (G.4 ... )
 
 
Combinatorial Algorithms (G.2.1 ... )
 
 
Graph Algorithms (G.2.2 ... )
 
 
Java (D.3.2 ... )
 
 
Combinatorics (G.2.1 )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "Software Libraries": Date
Mixed language programming
Einarsson B., Gentleman W. Software--Practice & Experience 14(4): 383-392, 1984. Type: Article
May 1 1985
Programming solutions handbook for IBM microcomputers
Sanchez J., Canton M., McGraw-Hill, Inc., New York, NY, 1991. Type: Book (9780070545977)
Sep 1 1992
Design of an Ada library of elementary functions with error handling
Corliss G. Journal of Pascal, Ada & Modula-2 6(3): 17-31, 1987. Type: Article
Jul 1 1988
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy