Sunday, May 03, 2009

from painting to programming, with Leonardo

Mark Guzdial quotes Leonardo da Vinci (1452-1519) about painting and then makes an imaginative leap to transfer this to an argument in support of programming, (with typos corrected):
"He who despises painting loves neither philosophy or nature. If you despise painting, which is the sole imitator of all the visible works of nature, you will be certainly despising a subtle invention which brings philosophy and subtle speculation to bear upon the nature of all forms- sea and land, plants and animals, grasses and flowers…"(the da Vinci quote)
If programming, especially object-oriented programming, is about creating a simulation of the world in silico, then what da Vinci says about is also true about programming. Programming really is about creating an imitation of nature. It really is a philosophical reflection on the nature of forms and behavior. To program is to paint a working model of the world, in silicon.(Guzdial's reflection)
- A DaVinci argument for programming
This is good philosophical sweep but could be even better. Programming is not just about imitating nature but also extending nature to new worlds.

I looked up the Leonardo quote and think a fuller version is better still:

If you condemn painting, which is the only imitator of all visible works of nature, you will certainly despise a subtle invention which brings philosophy and subtle speculation to the consideration of the nature of all forms—seas and plains, trees, animals, plants and flowers—which are surrounded by shade and light. And this is true knowledge and the legitimate issue of nature; for painting is born of nature—or, to speak more correctly, we will say it is the grandchild of nature; for all visible things are produced by nature, and these her children have given birth to painting. Hence we may justly call it the grandchild of nature and related to God.

Taken from The Notebooks of Leonardo da Vinci edited by Jean Paul Richter, 1880
So, as well as a simulation of nature, programming is a grandchild of nature itself. In our modern Darwinian view, Turing's brain and all the other brains that have dreamed up programming languages are a grandchild of nature along with the physical materials that make up a computer. And in this generation we have moved from visible things to invisible things as well (the bits or electrons which underlay modern day virtual tools). This medium is more powerful than painting.

Just a slight edit of Mark Guzdial's imaginative leap. He has done the hard work here.

No comments: