Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
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

In reply to Re: Beyond literate programming... by stefp
in thread Beyond literate programming... by larsen

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?

What's my password?
Create A New User
Domain Nodelet?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2024-04-17 15:21 GMT
Find Nodes?
    Voting Booth?

    No recent polls found