diff --git a/changelog b/changelog index 5bb8610..0387cd2 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20100406 tpd src/axiom-website/patches.html 20100406.01.tpd.patch +20100406 tpd src/axiom-website/documentation.html literate programming quotes 20100405 tpd src/axiom-website/patches.html 20100405.01.tpd.patch 20100405 tpd src/algebra/Makefile add dcabs1 regression and help 20100405 tpd books/bookvol10.5 add regression and help sections diff --git a/src/axiom-website/documentation.html b/src/axiom-website/documentation.html index 5ab218f..bb2fc91 100644 --- a/src/axiom-website/documentation.html +++ b/src/axiom-website/documentation.html @@ -1,4 +1,4 @@ - + @@ -114,8 +114,44 @@
+

Why Literate Programming?

- +
+

+
+I believe that the time is ripe for significantly better documentation of +programs, and that we can best achieve this by considering programs to be +works of literature. Hence, my title "Literate Programming" +
+ +Let us change our traditional attitude to the construction of programs: +Instead of imaginging that our main task is to instruct a computer what to do, +let us concentrate rather on explaining to human beings what we want a +computer to do. +
+
+-- Donald Knuth "Literate Programming (1984)" in Literate Programming CSLI, p99 +

+
+The effect of this simple shift of emphasis can be so profound as to change +one's whole approach to programming. Under the literate programming paradigm, +the central activity of programming becomes that of conveying meaning to +other intelligent beings rather than merely convincing the computer to behave +in a particular way. It is the difference between performing and exposing +a magic trick. +
+
+--Ross Williams, FunnelWeb Tutorial Manual, pg 4. +

+
+The conversation is much more direct if the Design Concept per se, +rather than derivative representatives or partial details is the focus. +
+
+--Fred Brooks: The Design of Design: Essays from a Computer Scientist. +

+
+
Once a program has been developed and the developers have moved on to other tasks it needs to be maintained. The fundamental problem is that if you modify code you didn't write, you don't see the big @@ -145,9 +181,11 @@ pick up the torch. When you explore code, write down what you learn. When you change code, explain why you made your choices. When you write new code explain what others need to know to maintain it.

- - +
+
+

User documentation

+
The Axiom system is gradually being documented in a set of volumes. These change with every update to the system since they contain the diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 7663524..278911c 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2619,5 +2619,7 @@ src/axiom-website/download.html update available binary list
books/Makefile add bookvol10.5 add Axiom Algebra Numerics
20100405.01.tpd.patch books/bookvol10.5 add regression and help sections
+20100406.01.tpd.patch +src/axiom-website/documentation.html literate programming quotes