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

2015-03-29 Thread Laeeth Isharc via Digitalmars-d-learn
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.


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

2015-03-29 Thread Laeeth Isharc via Digitalmars-d-learn

On Saturday, 28 March 2015 at 09:04:51 UTC, Messenger wrote:

On Saturday, 28 March 2015 at 01:09:44 UTC, Laeeth Isharc wrote:

On Friday, 27 March 2015 at 11:33:39 UTC, Kagamin wrote:
Hmm... science exists only as long as we don't understand 
something, then it disappears and only knowledge remains. 
Looks like he talks about engineering, but calls it science.


One dismisses Knuth discussing the topic for which he is 
rightfully exceptionally well known at one's peril.  He may be 
wrong, but one should agonize before being sure this is the 
case and read widely and carefully about the topic first.  
Often in our society people resolve cognitive dissonance by 
dismissing the awkward perspective that causes such 
discomfort, when one would reach a fuller perspective by 
putting up with the discomfort for a while before attempting 
to reach intellectual closure.


I don't believe he is making the confusion you suggest.


Without touching on what Kagamin said, one must also take care 
not to fall to argumentum ab auctoritate.


Argument from authority was not a fallacy in the time this began 
to be deployed.  After the European Dark Ages, there simply was 
not anyone alive of the ability, learning and discernment of the 
best minds of the past whose works had survived, and during the 
period of catching up (remember that as late as at the time 
Gibbon wrote classical achievements in urban infrastructure were 
way ahead of what we had in London - no sewers!)


This being said, I did not make anything tending towards an 
argument from authority.  I did suggest a man such as Knuth 
probably understood well the difference between engineering and 
science, and that in these sorts of cases where one is offended 
by reading something because it causes cognitive dissonance, one 
may benefit from suspending judgement temporarily and reading 
more by other authors resonant with the offending piece to try to 
make sense of the discomfort and either reject it on the basis of 
a now deeper understanding, or integrate some or part of it.  
Irritation triggers the growth of pearls, if one lets it.


I appreciate that many of us have better things to do.  But I had 
been thinking about why I find D appealing, and how I would get 
this across to future partners, and had also been thinking about 
various forum comments equating measurement with science, and so 
I found this Knuth piece highly thought-provoking.


Because it goes against the grain of the prevailing tendency, I 
shouldn't expect many to agree.  But there is nothing wrong with 
appealing to minority opinion, provided one does not become a 
crank.  In a sense that is in any case part of how I make a 
living.


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

2015-03-29 Thread Joakim via Digitalmars-d-learn

On Sunday, 29 March 2015 at 18:05:28 UTC, Laeeth Isharc wrote:
I appreciate that many of us have better things to do.  But I 
had been thinking about why I find D appealing, and how I would 
get this across to future partners, and had also been thinking 
about various forum comments equating measurement with science, 
and so I found this Knuth piece highly thought-provoking.


Because it goes against the grain of the prevailing tendency, I 
shouldn't expect many to agree.  But there is nothing wrong 
with appealing to minority opinion, provided one does not 
become a crank.  In a sense that is in any case part of how I 
make a living.


I completely agree with you about the aesthetic appeal of writing 
and reading D, it is one of the major draws of the language to 
me.  I've recently been dealing with some C code and it feels 
like going back to punch cards by comparison.  It is not a minor 
issue and Walter has often talked about optimizing for it.


The white-space formatting requirements of Python were one of the 
main reasons I rejected it early on.  Call it a superficial, 
knee-jerk reaction if you like, but I can't be bothered with a 
language that won't even let me insert temporary debugging code 
without formatting it just right.


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

2015-03-29 Thread Joakim via Digitalmars-d-learn

On Friday, 27 March 2015 at 06:31:40 UTC, Laeeth Isharc wrote:
In this talk I shall try to explain why I think Art is the 
appropriate word. I will discuss what it means for something to 
be an art, in contrast to being a science; I will try to 
examine whether arts are good things or bad things; and I will 
try to show that a proper viewpoint of the subject will help us 
all to improve the quality of what we are now doing.

...
As I was looking up these things about the meanings of art, I 
found that authors have been calling for a transition from art 
to science for at least two centuries. For example, the preface 
to a textbook on mineralogy, written in 1784, said the 
following [17]: Previous to the year 1780, mineralogy, though 
tolerably understood by many as an Art, could scarce be deemed 
a Science.


According to most dictionaries science means knowledge that 
has been logically arranged and systematized in the form of 
general laws. The advantage of science is that it saves us 
from the need to think things through in each individual case; 
we can turn our thoughts to higher-level concepts. As John 
Ruskin wrote in 1853 [32]: The work of science is to 
substitute facts for appearances, and demonstrations for 
impressions.


It seems to me that if the authors I studied were writing 
today, they would agree with the following characterization: 
Science is knowledge which we understand so well that we can 
teach it to a computer; and if we don't fully understand 
something, it is an art to deal with it. Since the notion of an 
algorithm or a computer program provides us with an extremely 
useful test for the depth of our knowledge about any given 
subject, the process of going from an art to a science means 
that we learn how to automate something.

...
From this standpoint it is certainly desirable to make computer 
programming a science, and we have indeed come a long way in 
the 15 years since the publication ot the remarks I quoted at 
the beginning of this talk. Fifteen years ago computer 
programming was so badly understood that hardly anyone even 
thought about proving programs correct; we just fiddled with a 
program until we knew it worked. At that time we didn't even 
know how to express the concept that a program was correct, in 
any rigorous way. It is only in recent years that we have been 
learning about the processes of abstraction by which programs 
are written and understood; and this new knowledge about 
programming is currently producing great payoffs in practice, 
even though few programs are actually proved correct with 
complete rigor, since we are beginning to understand the 
principles of program structure.

...
A scientific approach is generally characterized by the words 
logical, systematic, impersonal, calm, rational, while an 
artistic approach is characterized by the words aesthetic, 
creative, humanitarian, anxious, irrational. It seems to me 
that both of these apparently contradictory approaches have 
great value with respect to computer programming.

...
When I speak about computer programming as an art, I am 
thinking primarily of it as an art form, in an aesthetic sense. 
The chief goal of my work as educator and author is to help 
people learn how to write beautiful programs. It is for this 
reason I was especially pleased to learn recently [32] that my 
books actually appear in the Fine Arts Library at Cornell 
University. (However, the three volumes apparently sit there 
neatly on the shelf, without being used, so I'm afraid the 
librarians may have made a mistake by interpreting my title 
literally.)


My feeling is that when we prepare a program, it can be like 
composing poetry or music; as Andrei Ershov has said [9], 
programming can give us both intellectual and emotional 
satisfaction, because it is a real achievement to master 
complexity and to establish a system of consistent rules.


Furthermore when we read other people's programs, we can 
recognize some of them as genuine works of art. I can still 
remember the great thrill it was for me to read the listing of 
Stan Poley's SOAP II assembly program in 1958; you probably 
think I'm crazy, and styles have certainly changed greatly 
since then, but at the time it meant a great deal to me to see 
how elegant a system program could be, especially by comparison 
with the heavy-handed coding found in other listings I had been 
studying at the same time. The possibility of writing beautiful 
programs, even in assembly language, is what got me hooked on 
programming in the first place.


Some programs are elegant, some are exquisite, some are 
sparkling. My claim is that it is possible to write grand 
programs, noble programs, truly magnificent ones!

..
Another important aspect of program quality is the efficiency 
with which the computer's resources are actually being used. I 
am sorry to say that many people nowadays are condemning 
program efficiency, telling us that it is in bad taste. The 
reason for 

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

2015-03-29 Thread Laeeth Isharc via Digitalmars-d-learn

On Sunday, 29 March 2015 at 18:51:19 UTC, Joakim wrote:

On Sunday, 29 March 2015 at 18:05:28 UTC, Laeeth Isharc wrote:
I appreciate that many of us have better things to do.  But I 
had been thinking about why I find D appealing, and how I 
would get this across to future partners, and had also been 
thinking about various forum comments equating measurement 
with science, and so I found this Knuth piece highly 
thought-provoking.


Because it goes against the grain of the prevailing tendency, 
I shouldn't expect many to agree.  But there is nothing wrong 
with appealing to minority opinion, provided one does not 
become a crank.  In a sense that is in any case part of how I 
make a living.


I completely agree with you about the aesthetic appeal of 
writing and reading D, it is one of the major draws of the 
language to me.  I've recently been dealing with some C code 
and it feels like going back to punch cards by comparison.  It 
is not a minor issue and Walter has often talked about 
optimizing for it.


The white-space formatting requirements of Python were one of 
the main reasons I rejected it early on.  Call it a 
superficial, knee-jerk reaction if you like, but I can't be 
bothered with a language that won't even let me insert 
temporary debugging code without formatting it just right.


Beauty will save the world.

But it's not mere indulgence because an accurate image of reality 
is beautiful, and programming is a human activity and emotional 
and psychological considerations cannot be wished away.


I can put up with the white-space stuff, but the lack of 
compile-time checking disturbs me and it seems like one needs the 
scarce resource of discipline more to write good code there.  (I 
do not claim to be an expert on Python).


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

2015-03-29 Thread Joakim via Digitalmars-d-learn

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 

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

2015-03-28 Thread Messenger via Digitalmars-d-learn

On Saturday, 28 March 2015 at 01:09:44 UTC, Laeeth Isharc wrote:

On Friday, 27 March 2015 at 11:33:39 UTC, Kagamin wrote:
Hmm... science exists only as long as we don't understand 
something, then it disappears and only knowledge remains. 
Looks like he talks about engineering, but calls it science.


One dismisses Knuth discussing the topic for which he is 
rightfully exceptionally well known at one's peril.  He may be 
wrong, but one should agonize before being sure this is the 
case and read widely and carefully about the topic first.  
Often in our society people resolve cognitive dissonance by 
dismissing the awkward perspective that causes such discomfort, 
when one would reach a fuller perspective by putting up with 
the discomfort for a while before attempting to reach 
intellectual closure.


I don't believe he is making the confusion you suggest.


Without touching on what Kagamin said, one must also take care 
not to fall to argumentum ab auctoritate.


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

2015-03-27 Thread Kagamin via Digitalmars-d-learn
Hmm... science exists only as long as we don't understand 
something, then it disappears and only knowledge remains. Looks 
like he talks about engineering, but calls it science.


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

2015-03-27 Thread Laeeth Isharc via Digitalmars-d-learn

On Friday, 27 March 2015 at 11:33:39 UTC, Kagamin wrote:
Hmm... science exists only as long as we don't understand 
something, then it disappears and only knowledge remains. Looks 
like he talks about engineering, but calls it science.


One dismisses Knuth discussing the topic for which he is 
rightfully exceptionally well known at one's peril.  He may be 
wrong, but one should agonize before being sure this is the case 
and read widely and carefully about the topic first.  Often in 
our society people resolve cognitive dissonance by dismissing the 
awkward perspective that causes such discomfort, when one would 
reach a fuller perspective by putting up with the discomfort for 
a while before attempting to reach intellectual closure.


I don't believe he is making the confusion you suggest.