If software is not ComputerScience 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 CharlesSimonyi from http://www.rjh.org.uk/PAW/m1102.htm : "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 SoftwareMastersOfFineArts? 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. --ShaeErisson'' ---- 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