Anecdotal Fortran... :-)

William H. Press, co-author of the Numerical Recipes series of books, originally in Fortran 77 and Pascal, has written an autobiography, More Than Curious: A Science Memoir, which can be downloaded. One chapter discusses the writing of Numerical Recipes.

Numerical Recipes in Fortran-90 was published with much fanfare in 1996. And it flopped. Over five years, it sold only ten thousand copies, a success by academic standards, but far from our dream of bringing parallel thinking to the masses. With a nod to Phar Lap, we had bet on the wrong horse. Danny Hillis’s certainty that programmers could not master the complexity of MIMD—lots of processors doing independent unsynchronized operations—was not quite right. MIMD was beyond most programmers, but the few who could master it could and did write libraries of reusable code that hid most of the details. These Message Passing Interface libraries were ugly. You didn’t really have to “think parallel” in any elegant way. You just had to chop up your problem into a bunch of little “threads” and send them to the MPI.

Data parallelism never completely died. Many aspects live on inside today’s GPUs—graphics processing units. SIMD might even someday return in processor chips with very long register lengths. But MPI became the dominant paradigm for the next twenty years. Thinking Machines Corporation went bankrupt. Sometimes the prettiest horse doesn’t win the race. Numerical Recipes in Fortran-90 has some of the best code I ever wrote. C.U.P. keeps it in print, but barely: In 2020, it sold exactly twenty copies. Jill Mesirov moved to MIT’s Whitehead Institute, later the Broad Institute. She was later my colleague on the IDA board.

4 Likes