[Edu-sig] Re: How do we tell truths that might hurt

Scott David Daniels Scott.Daniels at Acm.Org
Sun May 2 11:31:50 EDT 2004


Arthur wrote:

>>>Computer programming is mathematics.
>>
>>...Dijkstra: "Programming is one of the most difficult
>>              branches of applied mathematics"....
>>
>>Dijstra's claim is about the difficulty of programming, rather than its
>>position in applied mathematics.

> Or both.

> I agree it is more intended as a swipe at the pure mathematician, than a
> statement that "programming is mathematics" 
Why a swipe?  I always considered pure and applied mathematicians to
be quite distinct in attitude and aptitude.  The pure mathematician has
impatience with non-mathematical detail; the applied mathematician has
impatience with abstraction without a visible use.  Neither of these is
wrong; it simply leads one to where they might work best.

> ... "programming is mathematics" is, to me, implicit in the statement...
But, perhaps, while programming is appropriately examined with
mathematics, there is non-mathematical content as well.

> 
>>So, to sum up, I very slightly believe both:
>> > Dijkstra is wrong,
>>These statements are problems at a point in time (1975).  Some things
>>have improved since then.
> 
> No doubt much has improved.  But I don't think the essence of what the word
> programming should mean has changed. 
Ah, but it was almost all creative work then, and there are places now
where programming has turned into a bit of "plug and chug".

> I don't consider marking up an html page to be programming. 
Yet another place where we agree.

> I would accept something about "algorithmic thinking" as core to the
> definition as I would use the word programming.  But then find it impossible
> to see not only the point, but the possibility, of arguing that this is
> something somehow not in its essence mathematical.
So, to you, all completely rational thought is mathematics?  This is,
by the way, a question and not a jab.  I don't know how you would
answer that.

>>We actually know more about what a usable set of abstractions is.
> 
> Mathematics always seems to move in the direction of more powerful
> abstraction. So it makes perfect sense that is the direction in the
> development of programming and programming languages.
My point is not about the discovery of those abstractions, but the
ability of particular abstractions to clearly express the kinds of
programs that people want written.  Dijkstra's screed on APL in
this memo is interesting here.

Here is where I think the two (mathematics and programming, not
necessarily you and I) diverge.  Some programming languages head
directly for abstaction, the earliest of which is, I suppose, was
McCarthy's LISP.  ML is a more modern form of that system.  One of
the key esthetics of such languages is a certain minimalism.  The
languages generally create a consistent universe that is often
quite analyzable.  These are languages designed more by mathematicians
than practitioners, and they all have trouble talking to programs in
other languages.  This communication with other process, and other
languages in the same image, seems a particularly non-mathematical
consideration for programming.

Anyhow, I do find reading your point of view interesting, although
I definitely find places where I disagree.

-Scott David Daniels
Scott.Daniels at Acm.Org




More information about the Edu-sig mailing list