Skip to Main Content
There is an art to the practice of any science, a point argued cogently by Donald E. Knuth,1author of the series of volumes deliberately titled The Art of Computer Programming. If "science" is knowledge which has been logically arranged and systematically codified, then "art" refers to the use of personal skill, guided by a sense of aesthetics, in applying these organized principles, whether they describe engineering, physics, mathematics, or computer programming. For, at a given stage in the translation of an art into the organized body of the corresponding science, that which is still art contains intuitive and aesthetic factors which defy precise formalization. Computer programming– with its scope extending from "arty" foklore to science-based automatic code generation and verification–is a prime example of these subtle differences. Now widely called computer science, the art of programming continues to challenge and often baffle the most scientific of managers and "computer scientists."