OT; Donald Knuth on beauty, efficiency, and the programmer as artist

Laeeth Isharc via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Mar 29 11:41:35 PDT 2015


> The whole art/science vein of these Knuth quotes seems like a 
> lot of BS, trying to situate computer programming in the 
> long-standing and overblown science/humanities "divide."

I should like to see an argument rather than mere assertion.  
Steve Jobs is not an authority on this subject, but I found his 
conception of placing Apple at the juncture of science and the 
humanities rather intriguing.

> He characterizes the artistic approach as "aesthetic, creative, 
> humanitarian, anxious, irrational."

He was making a statement about how it was characterized in his 
time, in order to set the context for his further remarks.  He 
didn't express a view one way or another about whether this was a 
good characterization.

> But of course, there are aesthetic elements to any human 
> endeavor: the scientific camp simply favors different 
> aesthetics.Anything beyond the most rudimentary science 
> requires a great deal of imagination and creativity: it just 
> requires learning a great deal of technical concepts first that 
> may be harder to manipulate mentally.

Yes - so we agree about the most important part, because this has 
implications for how one thinks about language design, programmer 
productivity, quality, questions of measurement, and the like.

> Of course art is "humanitarian," as it's subjective and aimed 
> at a human audience.  Hard to argue the science that brought us 
> modern civilization isn't a hundred times more humanitarian, 
> far beyond the superficial sheen of "humanitarian" art he's 
> talking about.  "Anxious" and "irrational" are human emotions 
> often possessed by artists, not qualities applied to art, 
> fitting given they cannot produce anything of the great value 
> of science.

Interesting perspective; I will leave it at that.

> He is really arguing against the likely prevailing view of the 
> time of programming as a dry, functional process and pointing 
> out and pushing for the aesthetic qualities in programming, 
> which is all fine.  But he then gets caught up in the false 
> dichotomy and claptrap of the science/humanities debate, a lot 
> of mumbo jumbo that is not worth getting caught up in.
>
> He should have stuck to calling for more aesthetically pleasing 
> programming languages and tools- the best contribution he could 
> have made is to more precisely define what he thinks that 
> aesthetic should look like- instead of needlessly laying out 
> worthless and overly simplistic platonic definitions like the 
> mindsets of Art and Science.  At least his piece gave us that 
> "premature optimization" line, which is worth far more than 
> everything around it.

That's rather the point - one cannot 'precisely define' what 
aesthetic excellence looks like because it uses at a basic 
cognitive level a different kind of mental process to that 
deployed in Cartesian analysis.  Analysis meaning breaking things 
down into their constituent parts, and thinking in terms of 
gestalts being the antithesis.  (That's one of the fascinating 
things about programming: non-programmers perceive it as mostly 
about analysis, but that is not the case).

http://www.ttbook.org/book/transcript/transcript-iain-mcgilchrist-uncut
https://www.youtube.com/watch?v=MDO0yXgpD2w

> There is a great desire by programmers and many other 
> professions to see themselves as "artists."  Well, there is art 
> in everything, but they're not, and they should be grateful 
> they aren't, or they wouldn't be paid anywhere near so well. ;)

There is more art in C and D than Java and C++.  I don't think 
that Knuth was playing a relative status game, but trying to 
bring peoples' attention to a facet of reality that he believed 
to be neglected yet important.  I believe it remains neglected 
and that the aesthetic element matters for good design, but we 
blind ourselves to this if we pretend the field is drier than its 
intrinsic nature truly is.


More information about the Digitalmars-d-learn mailing list