Saturday, July 02, 2011

The art and craft and science of software

Software: art, craft, engineering?

... we've only been creating software half a century. We've only had academic departments devoted to it for half of that. And many of those still haven't figured out whether they're applied math departments, or electrical engineers who don't like bothering with all the soldiering and other messy stuff, or whether they want to teach students how software works so the students will be good at their future jobs, or because knowledge is its own reward. We haven't been making software or training programmers very long, so let's not throw in the towel on making coding into engineering yet.

SB7: Stack Exchange

It's only in the last century or so that the art of 'building stuff' has progressed from rule of thumb to engineering. And people have been building things for how long? A few thousand years. Software as engineering might happen.

But: Mike Mulligan does not have to deal with the mess made by some guy who built the old town hall on the rule of thumb method while digging the basement of the new town hall in Popperville. Nope: somebody else knocked the old building down before he even got there. [1]

Mr. Software Developer is - and will be for quite some time [2] - building his works on the foundations, if not right inside of, software developed by the rule-of-thumb craftsman method.

[1] I'm stretching a point: the site chosen for the new town hall was clearly a brand-new site: no prior construction.

[2] Thousands of years, if Vernor Vinge is right. In 'A Deepness in the Sky' the skills commanded by a programmer archeologist are very valuable indeed, guys who can dive into code hundreds or thousands of years [3] old and hack something up that works on existing problems.

[3] They use the Unix epoch as the basis for keeping time.

blog comments powered by Disqus