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

Joakim via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Mar 29 12:31:49 PDT 2015


On Sunday, 29 March 2015 at 18:41:36 UTC, Laeeth Isharc wrote:
>> 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.

There is no point in diving into that worthless debate.  Whatever 
arguments I wanted to make are below.

> 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.

Perhaps Jobs early study of fonts and typefaces eventually helped 
with the development of the striking visual design of the iPhone, 
iPad, OS X, iOS, and the various Apple products that are lusted 
after by conspicuous consumers everywhere today, but other than 
that, I always found that conception similarly fanciful.  Other 
than visual design, where is the great influence of the 
humanities on Apple?  Do they build great authoring tools, that 
the majority of writers use to write their books and ebooks?  No. 
  They acquired some nice editing tools like Final Cut Pro that 
had some uptake, but that's about it.

>> 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.

I pointed out that he was wading into an existing debate that was 
overly simplistic and that he shouldn't simply have accepted 
their terms.

>> 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.

Feel free to disagree. :) I find terms like "humanitarian" or 
"spiritual" to be so vague and loaded as to be meaningless.

>> 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.

I didn't ask for him to define "aesthetic excellence" but "what 
he thinks that aesthetic should look like."  It might be 
difficult to analyze or communicate, but if one cannot even 
describe what the output might look like, it is basically 
worthless to even talk about, as we can only happen upon it by 
chance. ;)

> 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).

It _is_ mostly about analysis, but that doesn't mean it's all 
it's about.  Specifically, programming languages are a user 
interface, and so must be designed differently than some math 
library.

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

I'll take a look at the transcript, the video seems too long.

>> 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.

I think he was rightly pointing out the aesthetic element, but 
was likely playing a "relative status game" when he unnecessarily 
expanded it out to digressions on how programming is an art, not 
just a science.  Sure, all engineering is an "art" to some 
extent, but in a much more limited way than what artists deal 
with and most technical types honestly probably don't care much 
about the pure aesthetic appeal of what they're building, which 
is why he had to raise the objection in the first place.

I think the field has long since advanced past that with the use 
of languages from ruby to Haskell these days, though they're 
still slotted into certain small niches compared to the more 
"functional" languages like java or C++.  I don't see "slash 
slash JoB" in any language these days, so we've certainly 
advanced past that.


More information about the Digitalmars-d-learn mailing list