5 ms·
Yes, it is a craft, as in crafting: - It is labor-intensive - It is creativity taxing - It produces better results the more skilled the craftsman is - It ca
by hcarvalhoalves 14y ago
Yes, it is a craft, as in crafting:
- It is labor-intensive
- It is creativity taxing
- It produces better results the more skilled the craftsman is
- It can only be learned by practicing
That extends to all professions that can't be automated and benefit from highly-skilled labor. They are all crafts.
The author is just confusing craft and art.
- shantanubala 14y agoI'd also argue that it's also art, just with a smaller target audience. Open source software is a great example of this. A lot of open source projects are really just experiments in expressing an idea in a new way, or basically saying, "hey guys, check out this cool thing I did." _why was the trademark example of taking this concept and constructing an entire persona around it, but art is about expression, and programming allows for some interesting forms of expression. Just like it takes a little training to appreciate the intricacies involved in the construction of a piece of literature, classical music, painting, or other work, it takes training to appreciate beautiful software. Code is just a much newer canvas for ideas, so it's not as mature.
- michaelochurch 14y agoArt is a poor metaphor for software. A bad painting just looks ugly. It doesn't hurt anyone. A better metaphor is a block of Legos, but where none of the pieces fit together well and 2/3 of them are of such poor quality as to make them almost worthless and, worse yet, you can't choose not to use them because the people setting requirements don't know or care about block quality and "just want it to work". I'm experienced both in software and creative writing. I've read (and written) some awful short stories and poems. Bad writing is embarrassing. Bad software is a much higher dimension of evil. Bad code kills businesses.
- shantanubala 14y agoSo the question could be rephrased to a better analogy: is architecture art? A faulty building can kill people, but buildings can be expressions of ideas. In other words, there is a utilitarian form of architecture, which involves making the most efficient/simple/effective solution to a problem. But there's also the side that produces iconic and truly beautiful buildings for no other purpose than beauty.
- pygy_ 14y agoSoftware is just a medium. A small subset can be thought of as art, just like a small subset of paint jobs, constructions (in the broadest sense possible), and sounds sound can.
- pygy_ 14y ago_why took it pretty far, indeed (these are images): http://viewsourcecode.org/why/redhanded/images/hpricot-aby.png http://viewsourcecode.org/why/redhanded/images/hpricot-aby.p... http://viewsourcecode.org/why/redhanded/images/a-personal-expando.png http://viewsourcecode.org/why/redhanded/images/a-personal-ex... http://viewsourcecode.org/why/redhanded/images/aside-from-that-there-is-a-range.gif http://viewsourcecode.org/why/redhanded/images/aside-from-th... http://viewsourcecode.org/why/redhanded/images/gem-mirror-only.gif http://viewsourcecode.org/why/redhanded/images/gem-mirror-on... /!\ /!\ Epilepsy warning: /!\ /!\ http://viewsourcecode.org/why/redhanded/images/irb-lex.gif http://viewsourcecode.org/why/redhanded/images/irb-lex.gif Ditto, to a lesser extent: http://viewsourcecode.org/why/hackety.org/images/goa-trance-importable.gif http://viewsourcecode.org/why/hackety.org/images/goa-trance-... And then, of course, Hackety.org: Hackety.org is for artful computer hacking. Mind expanding code. Hobbyists & amateurs welcome. Business trends and language wars? None for us, thankyou! [More](http://viewsourcecode.org/why/hackety.org/about/) http://viewsourcecode.org/why/hackety.org/ http://viewsourcecode.org/why/hackety.org/
- hcarvalhoalves 14y agoYou're falling on the same mistake as the original author, that craft implies art. Craft is about applying creativity and skill and produce some product. Art is about expression, it doesn't have to solve a problem, and can come to life using any medium, software included. So we could said while all software is craft, some software is art.
- msluyter 14y agoI think a lot of these discussions -- Programming is/isn't Engineering/Math/Science/Craft/etc... -- suffer from what I call "the moon is like an onion" problem. The moon is like an onion. This is obvious! After all, both are whitish, more or less spherical, have layers, and on occasion, drive men to tears. And yet, of course, the moon is not exactly an onion. It differs from onions in other obvious characteristics. You can play this game with anything. Programming is like engineering. It's like math. And yet it's not exactly engineering, or math, or a craft or a trade or anything. People find one attribute where the metaphor fails and go "Aha! Programming is not X!" Let's step away from the "find the perfect metaphor" game for a second and ask, which word works in daily discourse? Like you, I'd agree that "craft" works pretty well. It's not perfect, but I'd argue that if you want the perfect word, just use "programming." Additionally, I find the author's argument that "with a craft, the product has an intrinsic beauty in its own right," rather uncompelling. Aside from the fact in aesthetics, the notion of "intrinsic beauty" is suspect, software can certainly have aesthetic qualities. Their audience (other programmers) may be small, and aesthetics may sometimes[1] be hidden from customers, but that doesn't mean code can't be beautiful. [1] Sometimes, because poorly crafted software tends to have bugs or other problems that annoy customers or otherwise visibly manifest themselves.