3 ms·
This question comes up a lot. My latest formulation is that programming has elements of a all sorts of disciplines: science (debugging is often about making and
by msluyter 14y ago
This question comes up a lot. My latest formulation is that programming has elements of a all sorts of disciplines: science (debugging is often about making and then testing hypotheses), engineering, mathematics, design, art, but can't entirely be encapsulated by any of these. I usually call it a craft: "an activity involving skill in making things by hand" but like everything, this definition only partially applies (eg, the "by hand" bit).
I also like the Hunt/Thomas formulation of programming as gardening: http://www.artima.com/intv/garden.html http://www.artima.com/intv/garden.html
That nicely captures the often improvisational nature of things.