comp.lang.ada
 help / color / mirror / Atom feed
From: "Nick Roberts" <Nick.Roberts@dial.pipex.com>
Subject: Re: Ultimate Language feature list
Date: 1998/05/15
Date: 1998-05-15T00:00:00+00:00	[thread overview]
Message-ID: <6jhraq$pbm$2@plug.news.pipex.net> (raw)
In-Reply-To: 6jc18b$lug$1@news.eclipse.net


My pet ideal language (called 'Babbage', I don't know if this is original),
has the following essential features:

* the 'core' is a byte-code interpreter (like JVM but lower-level and more
general-purpose (very like P-code I suppose)), with the well-known attendant
advantages;

* the syntax is totally flexible, based on prefix, infix, and postfix
operators (a bit like Prolog), with primitives only for literals (numeric,
character, set, and vector);

* in particular, there is no special syntax for code (e.g. a sequence of
statements is simply implemented as a vector literal, and parallelism is
achieved simply as a set literal);

* only very low-level constructs are implemented directly (e.g. 'set value',
'jump', 'read value', 'add', 'subtract', etc.), and are directly equivalent
to byte-codes;

* a language of any level of power can be built up from these simple
components (e.g. the functionality of LISP, Prolog, SmallTalk, and better,
all in one);

* in particular, (interpreted) Babbage programs would have the (ready)
ability to modify themselves as they execute, giving rise to many
interesting possibilities (e.g. program self-healing via the Internet,
program end-stage development/refinement by tame users, intelligent
'learning' self-improving programs);

* each programmer can build exactly his/her favourite 'language' and
environment (this needn't be a disaster: conformity could be imposed as
required, to the extent required, in specific circumstances);

* suitable subsystems can be compiled native, and the compiler can (very
conveniently!) be written in Babbage.

Also, the intention is for the native character type to be Unicode, so that
many (or most?) symbols which have to have clumsy equivalents (e.g. * for
multiplication, / for division, as well as 'executional sequence' (a plus in
a circle), 'executional parallelism' (I don't know), and any number of
others) can all eventually be replaced by the proper symbols.

I think it is perhaps interesting to note that, as I have it at the moment,
this language tends towards very concise names. This is partly because the
language is modelled somewhat on mathematical notation (which tends towards
extreme 'conciseness'!), and partly, I think, because if you take real care
with your nomenclature, you can achieve conciseness while still avoiding the
pitfalls of ambiguity and confusion. I haven't yet solved the problem of
name spaces (i.e. name clashes!).

[Oh, and in case you're wondering, ThoughtWing Babbage will be available at
a retailer near you anytime Real Soon Now!]

PS: There was a language called 'POP' once. Has this language since died a
death?

PPS: Dubious claim to fame: Professor Popler, the great maths genius, after
whom the above language was named, lives near me!

--
Nick Roberts
ThoughtWing Software, Croydon, UK
ThoughtWing@dial.pipex.com

MSG [ Michael Scott Garnett michael@pickles.org ]
wrote in message <6jc18b$lug$1@news.eclipse.net>...
|I do all my development in C++.  Not necessarily because I want to, but
|because I keep looking (and looking) for alternate languages/environments
|and they ALWAYS come up short.  I've decided that the language/environment
|for me hasn't been created, so I'm starting a list of features that I
|like/require.
[...]







  parent reply	other threads:[~1998-05-15  0:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-05-13  0:00 Ultimate Language feature list MSG
1998-05-13  0:00 ` John McCabe
1998-05-13  0:00 ` Charles Hixson
1998-05-14  0:00   ` Eugene Mayevski
1998-05-13  0:00 ` Mark K. Gardner
1998-05-15  0:00   ` Jussi Santti
1998-05-14  0:00 ` Mats Weber
1998-05-15  0:00 ` Fergus Henderson
1998-05-15  0:00 ` Chris Miller
1998-05-15  0:00   ` Franck Arnaud
1998-05-15  0:00   ` Stephen Bull
1998-05-20  0:00     ` John Volan
1998-05-15  0:00 ` Nick Roberts [this message]
1998-05-16  0:00   ` Tarjei T. Jensen
1998-05-15  0:00 ` Nick Leaton
  -- strict thread matches above, loose matches on Subject: below --
1998-05-13  0:00 adam
1998-05-14  0:00 ` Rainer Joswig
1998-05-14  0:00   ` John English
1998-05-14  0:00     ` Michael F Brenner
1998-05-14  0:00       ` John McCabe
1998-05-14  0:00       ` Charles Hixson
1998-05-15  0:00 ` Fergus Henderson
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox