Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Breakthrough ideas
Coplien J., Foote B., Gabriel R., Thomas D., Lopes C., Marick B., Nardi B., Tow R., Hunt A., Vanderburg G.  Object-oriented programming, systems, languages, and applications (Companion to the 20th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, San Diego, CA, Oct 16-20, 2005)76-86.2005.Type:Proceedings
Date Reviewed: Oct 16 2006

This interesting collection of short essays, “designed to stimulate thought and reflection among the computing community,” contains ideas ranging from programming as a group performance (some of us may recall Weinberg’s book [1]), through the fallacy of teaching “the right” technology to students instead of teaching basic concepts, to promoting computational diversity (including that of computing science faculty, as in the early days when it “contained a rich diversity of scientists, engineers, philosophers, and even talented people without a PhD!”).

The essay that contrasts precise semantics and methodological rigor (within the context of control and domination) to neural nets and genetic programming (within the context of accommodating and surviving the unexpected) may stimulate reflection about the essence of programming. I would rather distinguish between unpredictable but purposeful actions and choices made by people—sometimes because they “just want to act like that”—and those made by inanimate agents. A description of such human actions with many examples may be found in von Mises’ book [2].

Another essay raises the issue of reimplementing in applications some of the facilities—such as type checking or synchronization—provided at lower levels of abstraction. If this reimplementation is required, then we may ask whether these language facilities were adequate or even needed. On the one hand, such issues were raised decades ago in the context of adequacy or of operating system facilities for database management systems. On the other hand, serious problems in applications using inadequate languages were eloquently discussed in such classics of computing science as those by Dijkstra and Wirth (and have been known to all of us, for example, in buffer overflows).

Still, another essay observes that a program text has two radically different audiences, “a flawless but unforgiving reader (some computer) but also a flawed but creative reader (any person),” and considers programming, in this context, as a group activity requiring the study of rhetoric and performance. Another essay presents similar ideas about cooperative education, that is, about students who should learn to work with artifacts produced by other people, and stresses that we should show students how and why each new commercial wave “is similar but different from what came before.”

An essay urges us to “program with our whole selves, not just the tiny parts of our brain that are good at abstraction” because, in the opinion of the author, “abstraction is somewhat unnatural for us.” Other essays discuss various kinds of agencies, emphasizing need-based, delegated, and conditional ones, with the latter producing (new kinds of) unintended effects. It is also emphasized that objects are not everything, and that (future) software engineers should be taught many different communication skills.

Are these ideas thought and reflection provoking? Of course. Are they new? Some are; this is for the reader to decide.

Reviewer:  H. I. Kilov Review #: CR133443
1) Weinberg, G. The psychology of computer programming. Van Nostrand Reinhold Co., New York, NY, 1971.
2) von Mises, L. Human action: a treatise on economics. Yale University Press, New Haven, CT, 1949.
Bookmark and Share
  Reviewer Selected
Editor Recommended
Featured Reviewer
 
 
The Computing Profession (K.7 )
 
 
Expert System Tools And Techniques (I.2.5 ... )
 
 
General Literary Works (A.0 ... )
 
 
Human Factors (H.1.2 ... )
 
 
Life Cycle (D.2.9 ... )
 
 
Object-Oriented Programming (D.2.3 ... )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "The Computing Profession": Date
Preparing the new information technology professional in Virginia
Peterson M., Morneau K., Saad A.  Information technology education (Proceeding of the 4th conference on information technology curriculum, Lafayette, Indiana, USA, Oct 16-18, 2003)28-30, 2003. Type: Proceedings
Dec 12 2003
Conceptual modeling: foundations and applications: essays in honor of John Mylopoulos (LNCS 5600)
Borgida A., Chaudhri V., Giorgini P., Yu E. Springer-Verlag, Berlin, Heidelberg,2009. Type: Divisible Book
Dec 23 2009
Writing for computer science
Zobel J., Springer Publishing Company, Incorporated, New York, NY, 2015.  284, Type: Book (978-1-447166-38-2)
Jul 21 2015
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