2 ms·
When we use the term "art," we're adapting the Latin term "ars" to English. "Ars" also translates as "craft." Using "art" probably worked well 100 or more years
by mariodiana 11y ago
When we use the term "art," we're adapting the Latin term "ars" to English. "Ars" also translates as "craft." Using "art" probably worked well 100 or more years ago when most educated people had taken Latin and, thus, had more ready access to such nuances, but today I think "craft" is the better word.
"Programming is a craft" communicates the idea that its practice is not constrained to a set of hard and fast scientific principles; but, rather, that it's an endeavor that requires much experience to fit theory into practice, and that there are even certain aesthetic components to its practice.
Programming is a craft in the same way that non-fiction writing -- or architecture, to use your example -- is a craft. We can of course say "art," but then we get distracted by the thought of men wearing hair buns and skinny jeans.
- adrusi 11y ago"Art" and "craft" aren't synonyms though. Art is a subset of craft. A craft can relatively easily be defined as something which is produced by applying skill. Defining art is notoriously hard, but the most terse definition offered by anthropology is the "transformation-representation" definition, wherein art is anything that alters the beholder's experienc of an idea by way of its representation. This means that all communications with a human in a way where the representation is considered (so excepting casually chatting with someone) are an art. Source code communicates with humans using a representation that mind-numbingly explicit, and a person's mental-model of how a procedure or algorithm conceptually functions is transformed by viewing source code. So I agree that describing programming as a "craft" is more generally useful, in the specific case I addressed in my comment, it is the respect in which programming is an art that is relevant.