Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Programmed visions : software and memory
Chun W., The MIT Press, Cambridge, MA, 2011. 224 pp. Type: Book (978-0-262015-42-4)
Date Reviewed: Aug 25 2011

The author of this book attempts to formulate a “philosophy of programming and computing.” Indeed, that is a noble goal, but unfortunately we are not there yet.

On page 176, in the chapter labeled “Conclusion,” Chun explains that both Alan Turing and Schrödinger, in explaining discrete computing and genetic codes respectively, return to “Laplace’s view that from the complete state of the universe at one moment of time, as described by the positions and velocities of all particles, it should be possible to predict all future states.” Except, we know today that the universe is not deterministic.

Heisenberg’s uncertainly principle and Bohr’s principle of complementarity showed this to be the case for the universe’s physics; M. Lehman showed this to be applicable to general computing; and I showed this to be applicable to software engineering. In short, the author’s statement is out of place, is not contextual, and is incomplete. The book tends toward this type of argument.

I began this book with a great deal of optimism and hope. I have long known that there is a marked lack of an ordered philosophy of computing and programming. Perhaps the discipline’s age is inappropriate for such, but I had hopes that this book would at least push us in the right direction. Between the book’s organizational confusion and its misplaced arguments, coupled with misreadings of history and the overuse of metaphorical tools, this book is a chore to read.

Worse, after reading the book, including both concluding chapters (“Conclusion” and “Epilogue”), I still can’t really say that I know what the point is. What is the message? Basically, I found this book disappointing, and it may be partly my own fault, for my misplaced expectations.

Metaphor is fine. Neologisms are fine. We all use them, and they can be highly useful; sometimes they can even be entertaining. Their use helps us comprehend complex messages and explain disparate points. When they are overused ad nauseum, however, they are highly distracting. For example, the metaphor “sourcery,” connoting “source code” as a form of magic, is quite cute. But one cannot use a neologism such as this as part of a basis for an entire book.

The book contains statements and concepts that border on brilliant. The idea behind “sourcery,” that programming can transform words into actions, is a very useful insight (particularly for the Harry Potter generation). But again, there is a “bug in the thinking,” because, as the author states (page 22), “It assumes no difference between instruction and result.” As stated, however, we know that a difference does exist; it results from uncertainty, and we can only avoid it with exceedingly great care, (usually) many iterations, and at least as much error as trial.

Concepts taken from history are important--perhaps extremely important. But taking them out of context and extrapolating them to make a point must be performed with great care. For example, as a result of some of the programmers on the ENIAC project having been women, the author has concluded that computers are “genderized,” and that computing is “female.” At first, I thought this was some kind of humor. Unfortunately, it is not funny, just silly. ENIAC was an important project in the history of computing, but even if this little fact had some kind of effect, it hardly had such for all subsequent generations, and, indeed, the author presents no evidence (not even screwy evidence such as an absence of uncertainty) to show that it does. I am old enough to remember many of the people to whom the author refers. I have worked with fantastic professionals of both genders, and with awful duds of both genders; there is simply no basis for the idea, as convenient as it may be today in some working environments.

Too many quotes that are unclear and too many incomplete or unsubstantiated ideas cause this book to fail to live up to its promise.

We still have a dire need for a philosophy of computing and programming.

Reviewer:  Mordechai Ben-Menachem Review #: CR139402 (1203-0233)
Bookmark and Share
  Featured Reviewer  
 
Miscellaneous (D.2.m )
 
 
Introductory And Survey (A.1 )
 
Would you recommend this review?
yes
no
Other reviews under "Miscellaneous": Date
Human factors in software engineering: a review of the literature
K. R. J., Kenneth R. S. Journal of Systems and Software 5(1): 3-14, 1985. Type: Article
May 1 1986
Abstraction-based software development
Berzins V., Gray M., Naumann D. Communications of the ACM 29(5): 402-415, 1986. Type: Article
Mar 1 1987
Moving from Windows to Linux
Easttom C., Charles River Media, Inc., Rockland, MA, 2003.  590, Type: Book (9781584502807)
May 10 2004
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