Software Is Science Art Craft And Trade

If software is not Computer Science or an art form, then what is it? Could it be a combination of several things? This page explores the notion that software actually requires Science, Art, Craft, and Trade skills.

A great quote from Charles Simonyi from www.rjh.org.uk :

"The knowledge of the best algorithms is the science, and the imagining of the structure is the art. The details of algorithms, writing efficient lines of code to implement transformations on those structures, is the trade aspect of programming. Technically, this is called maintaining the invariances in the structures. Writing the code to maintain invariances is a relatively simple progression of craftsmanship, but it requires a lot of care and discipline."


Points of discussion:

Should academic institutions nurture these qualities in their software curriculums. How many colleges offer Software Masters Of Fine Arts?

How many software job descriptions require this diversity of skills?

In every job I've had, there was the opportunity to apply all of these skills, but not the necessity. Look around, you may find chances to do all of this yourself. --Shae Erisson


This could be a translation error, but doesn't the word "Craft" implies "Science and Art"? I mean, Are there any crafts that don't require traits of both Science and Art? -- Aviv

See original on c2.com