axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Literate Programming


From: daly
Subject: [Axiom-developer] Literate Programming
Date: Tue, 10 Jul 2007 15:43:56 -0500

Ralf,

> don't you think you should change a bit yourself?

It's worse than you believe, actually. All incoming email is in emacs
RMAIL on one machine and all outgoing email is sent from emacs on
another machine. So I actually retype emails when I reply. The reasons
are numerous, pointless, and historical. Web browsing is done on a
third machine. My mail master is deeply buried and tightly firewalled
so it has no browser installed. It doesn't even have a mouse since it
doesn't run X11, so it wouldn't be possible to "click on a link".  I
do everything everywhere in a completely vanilla, unmodified emacs and
have for the last century or so.

Due to long, heavily buried habits I found it painful to think about
literate programming. The hill was steeper for me than it would be
for someone new to the field. However, having crossed the hill I 
can't imagine that anyone could program any other way. Literate
programming requires you to stop thinking about the machine. Since
I do machine language understanding programs for work that's quite
a stretch :-). However I write those machine language understanding
programs in literate lisp programs.

I know it seems to most people that Literate Programming is both hard
and a waste of time. Having learned how to do it efficiently I find
that I write clearer code (since I have to explain every line) and
it is better structured (since I have to explain why it belongs there).
In some sense it is a waste for work because I'm doing research which
likely won't outlive me :-)

I had a hard time transitioning from using GOTOs to writing structured
programs. Since FORTRAN required GOTOs you had to simulate structured
programs. I felt it was a waste of time until I made the transition.

I had a hard time transitioning to "top down structured programming"
since it delayed writing code until you expanded the task enough to
be concretely implemented. I felt it was a waste of time until I made
the transition.

I had a hard time .... (repeat with each new technology) ...
I felt it was a waste of time until I made the transition.

The amazing thing is that programmers go thru this cycle every few
years making the same, "I don't want to change. It's too much work".
We now have very complex programming languages, like Aldor.
But we still comment like we were writing assembler. And we still
write for the machine.

If Axiom were already fully literate nobody would consider the idea of
writing a domain without documentation. There would be standards of
excellence that would be generally accepted and applied.  The only way
I know to raise the standards of excellence expected is to set the
example. Considering where we are in the history of computational
mathematics this is the time to start. It will feel like a waste of
time until we make the transition :-)

Lift your eyes. Look away from the machine and write for the future.


> PS: I hope you are not angry on me. ;-)

I'm not angry with anyone. 
Except myself for losing my patience at times.

Tim




reply via email to

[Prev in Thread] Current Thread [Next in Thread]