
Computer programming as an art (1974) - drnewman
https://dl.acm.org/citation.cfm?id=361612
======
LyndsySimon
It's always a joy to re-read Knuth's work.

For what it's worth I consider programming a "craft", and myself a "craftsman"
\- or, if you prefer, an "artisan". I'd say the key difference between what I
see as "art" versus "craft" is the primary purpose. The purpose of art is to
express one's self; the purpose of a craft is utility. Note that this does not
mean that self-expression is not possible through craft; on the contrary, it
certainly is. The big difference is that when I'm creating software and am met
with a situation where self-expression and utility conflict, I reconcile them
with an emphasis on utility. In order for software to be beautiful, it must
serve a function.

~~~
elliotec
> The purpose of art is to express one's self; the purpose of a craft is
> utility.

That is the clearest distinction I've seen yet between these. Thank you for
that insight.

~~~
placebo
It's a nice distinction. I wonder whether we can go further though, and not
even need that distinction. Here's my take on it.

Any human endeavour is worth its salt if it succeeds at discovering and
expressing beauty. It can be a mathematical proof, a theory in physics, an
elegant algorithm, a painting, a dance, a novel, a relationship - the list is
as endless as the number of ways humans can come up with, and can be as deep
and complex and subtle as they wish to make it, but it always comes back to
finding and expressing beauty.

~~~
canhascodez
Keats famously said something quite similar, but this to me seems a bit
reductionist.

~~~
placebo
I'm embarrassed to say that I wasn't aware of Keats' writings and your comment
sent me to get more educated about him, which I found very interesting, so
thanks for that :)

Not sure in what sense you find the view reductionist, but I suspect it could
be from inadequately expressing what I mean

------
emddudley
Here is a text version:

[http://www.paulgraham.com/knuth.html](http://www.paulgraham.com/knuth.html)

Past discussion:

[https://news.ycombinator.com/item?id=10892293](https://news.ycombinator.com/item?id=10892293)

------
ThomPete
I went to a great conference back in the beginning of 2000 at Ars Electronica,
if you haven't gone I would highly recommend it, it's been around since the
late 70es and is where art, technology and academia meets.

Anyway in 2003 I was there the talk was about Code as language.

Many interesting talks and debates that year. I think many of the talks are
video-recorded.

[https://ars.electronica.art/aeblog/en/2014/11/04/code-die-
sp...](https://ars.electronica.art/aeblog/en/2014/11/04/code-die-sprache-
unserer-zeit/)

~~~
haaaris
Thanks for sharing this!

------
daxat_staglatz
If computer programming is an art, perhaps it could be taught as others arts
are [0].

[0]
[https://www.dreamsongs.com/MFASoftware.html](https://www.dreamsongs.com/MFASoftware.html)

------
gwbas1c
One of the easiest tells that a developer is immature is when they refer to
software itself as an art, or poetry.

~~~
ska
I suspect that's not the characterization most people would apply to Prof.
Knuth.

