CS Reading: Computer Programming as an Art
Paper: Computer Programming as an Art
Author: Donald E.Knuth
In this paper, Prof Knuth tries to highlight what Art and Science mean, and how history has often failed to understand it. He talks about the etymology of “Art”. He mentions how we used science and art in the same sense in the earlier times, and how the differences slowly started evolving to the way in which we now distinguish science and engineering.
He then goes on to talk about how Programming is both an art as well as a science. Prof Knuth feels that writing a program can be like composing poetry or music — it can provide us with intellectual as well as emotional satisfaction because it is a real achievement to master complexity and build a system of consistent rules. He feels that reading programs written by other people and recognizing works of art amongst them provides the same satisfaction as well.
He highlights that programmers attain even more pleasure when they accomplish something with limited tools. Though it does not seem to be the case now(thanks to Moore’s law), he feels that there is still plenty of room for artistry. He encourages writing occasional “toy” programs under simulated restrictions, in order to test our abilities to the limit. He feels that doing so prevents lethargy and taking trivial things for granted.
He concludes by requesting hardware designers and system programmers to provide everyone beautiful programs to work with especially for routine tasks, so that we become encouraged to write better programs and derive a greater sense of pleasure while doing so.