[wellylug] Non-standard languages on Linux
David Antliff
dave.antliff at paradise.net.nz
Tue May 10 12:04:16 NZST 2005
On Tue, 10 May 2005, Phillip Hutchings wrote:
> Note: I've basically done transliterations of the C code into python
> and ruby - don't try to run them.
Ok, I can see some pros and cons with whitespace and Python, but recently
I've come to thinking about a new way of writing source code. Rather than
worrying about formatting, whitespace, block delimiters, etc, you store
source code in a 'meta' format - probably using XML or something. Then you
make sure your editors can read this format and display it - here's the
key part - however *you* want. Consider them to be 'viewers'. If you
prefer 2-space indentation, then it's displayed that way. Perhaps you like
to use red squares instead of spaces? Perhaps you like to have your blocks
of code drawn inside fancy blue borders? Perhaps you prefer to view your
functions in a 3-dimensional space? It doesn't matter - whatever you want
is possible. But the code itself is stored in a standard format. There is
a simple front-end that spits out a valid source file (just another
viewer) or native compiler support for this format.
Who says variables have to be ascii strings? Imagine an algorithm where
the iteration counter is a blue circle, the operands are orange triangles,
and the functions are animated somethings... well, you get the idea...
it's just a new way of visualising code. Code, if it's good, has a
structure and if we can 'see' that structure in different ways, or views,
then it might help people understand it better.
I've always wanted my editor to display all my functions as little
'bubbles' joined by lines showing the call graph. You can do this
'offline' with graphviz etc but it would be neat to work on code in this
sort of way.
Might make talking about code a little difficult, but the next stage is
some sort of collaboration framework...
There's no reason all languages could be encompassed with this concept. An
extensible schema would even permit the design of new languages. This goes
into the area of 'customisable languages'.
This isn't my idea btw, but it's one I'm quite keen to see developed. Too
much time is spent messing around with whitespace, indentation, naming
variables and functions - and not enough time spent examining and thinking
about program structure and logical flow.
I hope I've reasonably explained what I'm getting at. I'm no revolutionary
but I'd like to spend my time working *with* the code, not *on* it.
--
David.
More information about the wellylug
mailing list