in reply to Beyond literate programming...

*Trusting the principle A picture's worth one thousand words, I'd like to apply that to computer programming.*

I dont think that visual programming is the general way to go except
for specialized problems like automata. The real barrier to break is
the ASCII monofont, monosized, monocolor conventions for programming
languages. I call it the *teletype barrier *because these
conventions have been shaped by that physical device. Typographically
speaking, the only significant progress has been the generalization of
lower case letters.

When a mathematician writes a formula (is that the right word in English?), it is often an algorithm, almost a program. A mathematician uses many alphabets and many fonts, indices and exponents. We can't. These conventions have been improved by generations of mathematician starting with Viéte (these starting date are often biased by nationality :)

Such "formulae" are certainly not graphical in the sense you implied, but the underlying conventions leads to a neat layout so that it is "parsed by our eyes" instead of being slowly deciphered.

I think Mathematica is an interactive environment that uses such
conventions but it is expensive (1000$) and mosttly specialized in
Mathematical rule based programming. I am not surprised when searching
on thenet pages about the history of mathematical notation to trip on
this conference
by Steven Wolfram. His concern is the one that motivates this node
* Given its historical basis, it might have been that mathematical
notation--like natural language--would be extremely difficult for
computers to understand.
But over the past five years we have developed in Mathematica
capabilities for understanding something very close to standard
mathematical notation. I will discuss some of the key ideas that made
this possible, as well as some features
of mathematical notation that we discovered in doing.*

There is a chicken an egg problem here in getting a real interactive literate programming environment: which comes first, the typesetting rich language or the editing environment? But there is hope. Check TeXmacs, this is an WYSIWYG structural editor. Very roughly speaking, conceptually, this is a mix of TeX and emacs. If correctly extended, it could provide such an environment. And the perl communauty, with its motto TMTOWTDI, is more prepared than any other to accept possibly different representations for the same program.

As for classical litterate programming, the tools developped by Knuth are not interactive enough. But they are fine to generate a documentation to be read off-linelike The Stanford GraphBase; A Platform for Combinatorial Computing

-- stefp