Richard S. Palais, Dept. of Mathematics Brandeis Univ.
Author: Harley Flanders
Publisher: Birkhauser, Boston ISBN: 0-8176-3760-5Harley Flanders is a Professor of Mathematics at the University of Michigan, and I have long had a nodding acquaintance with him and knew some of his other books on pure mathematics, but I was quite surprised to find that he was a Pascal expert as well.
First some things the book is not---
1) In my mind it is not suitable as a first text on programming.
While the first three chapters (124 pages) do give a complete introduction to programming in Pascal, starting from scratch, it goes too fast for a real beginner. On the other hand, for someone who has had some prior experience with programming, perhaps in another language, these chapters would be an excellent way to learn serious programmingconcepts and good style in Pascal.
2) It is not a book in which you will learn to program the Macintosh user interface.
In fact, the book is aimed at those using Turbo Pascal on MS DOS machines! But this is essentially irrelevant. The great bulk of the code consists ofalgorithms that are independent of any GUI or operating system specifics.
And that in my mind is the real strength of this book. It is chock-full of useful, carefully coded (and carefully documented), real-world algorithms that can be used by any mathematically literate scientist or engineer. In that sense it is comparable to Numerical Recipes in Pascal---except that Flander's code is far better than the really ugly Pascal in NMP, which is apparently machine translated from FORTRAN. (And Numerical Recipes no longer supports Pascal---they never wrote a Second Edition of Numerical Recipes in Pascal, although the C and Fortran volumes appeared long ago).
Of course the disc that accompanies the book is DOS formatted, but I found it easy to first expand the .exe file (containing all the programs and units) on a PC, and then do an ftp to a MAC, where the folder containing them occupies1.3 MBytes! --- in fact just the table of contents file listing all the units and programs is 34K.
I could not begin to list all the algorithms without having this review become too long, but let it suffice to say that they include all the common sorting algorithms, algorithms for searching and parsing, most of the standard numerical algorithms (for root finding, numerical quadrature, solving initial value ODE problems, finding eigenvalues of ODE by shooting methods, orthogonal polynomials, FFT), numerical linear algebra (Gaussian elimination, QR, eigenvalues, sparse matrix algorithms), number theory (GCD's, residues, prime sieves) discrete mathematics (permutations and combinations) random number generators and Monte Carlo methods, genetic algorithms, multi-precision arithmetic, graphics algorithms, fractal generators, recursive algorithms, Conways "Game of Life"---well, you get the idea, the list is virtually endless.
Have a look. You'll be glad you did.