Thursday, April 28, 2005

Programming is Design

Some of my recent reading gave me the impression that some people regard the idea that programming is a design process is a new idea. (Maybe it was just my interpretation of what I read.)

In any event, these Three Essays by Jack W. Reeves make it pretty clear that the idea is at least 13 years old. According to Mr. Reeves, he had the idea 10 years before he wrote about it, which makes the idea at least 23 years old!

In astronomy, one can make the assumption that the sun revolves around the earth, or one can make the assumption that the earth revolves around the sun. Either assumption is valid, but the the mathematics involved in explaining the motion of all the bodies in the universe is much simpler when one starts with the Copernican assumption that the earth revolves around the sun.

In a similar way, Jack Reeves' argument makes a pretty strong case that starting with the assumption that "final source code is the real software design...does explain some of the observed facts of the software industry."

Regardless of how old the idea is, it appears that Jack Reeves' argument is right on the mark, but appears to be only recently getting attention.

Reeves also states that "Ultimately, improvements in programming techniques are overwhelmingly more important to software development than anything else." Perhaps this explains why dynamic typing languages like Python, Jython, etc. and architectural ideas like Service Oriented Architecture are gaining so quickly in popularity.

0 Comments:

Post a Comment