[OT] Eternal programming

John Roth johnroth at ameritech.net
Sat Jul 7 20:55:56 EDT 2001


"Roman Suzi" <rnd at onego.ru> wrote in message
news:mailman.994519931.6264.python-list at python.org...
> On Sat, 7 Jul 2001, Michal Wallace wrote:
>
> >On Sat, 7 Jul 2001, Roman Suzi wrote:
> >
> >> I want to be 100% sure that some things I use today will stay forever.
> >> My main concerns are:
> >
> >Hey Roman,
> >
> >You've got an interesting idea here.. But I'm not sure I understand
> >the problem it's meant to address. If you're worried about your code
> >suddenly ceasing to work, of course you know that code doesn't break
> >unless you change things. A pyhon 0.1 script would work just fine
> >today if you had python 0.1 installed.
>
> No... Probably you have not understood.
>
> Lets imagine you want to run a program 300 years from now. C compiler no
> longer exists. Intel hardware sells no longer. No weird MS Word
> files. Python 123.3.4 with almost anything changed compared with version
> 1.5.2 ;-)
>
> What is left:
>
> Data storage, 8 bit bytes, latin letters, 10 digits, some computers with
> some formal programming languages, and some programmers ;-) who are
> capable to program very simple core interpreter in the language they will
> have at hands. (Even mathematicians will be enough).

Amusing thought. You'd also need a formal definition of a (very simple)
file system for the programs and data.
>
> So, after they program core interpreter according to specs, they will have
> all Eternal software ready to run!

Shouldn't be at all hard to do - the original Forth's were exactly that
simple. The only hangup I ever saw to them was the oddball file system.

> What I half-jokingly proposed is "do it yourself" core interpreter which
> could interprete code written in some simple code, able to evolve like
> Forth does.

> AFAIK, there is nothing similar to Eternal apart from Turing machine or
> basic math notation.

As you mentioned, Forth fits the bill almost perfectly.

> This way, the portability is utmost: you write simple core interpreter (~
> RISC-processor) and you can run software!
>
> And you have NO troubles of getting 300 years old hardware, CPU specs,
> etc, etc - only data stored in 8-bit bytes + the only informal piece
> missing: interpreter.
>
> Can you see the root of the idea now?
>
> Of course, only things of historical value will be done in Eternal:
> * JPEG->ASCII convertor
> * bzip2 decompressor
> and so on.

I don't see why it couldn't be of much more utility. The big problem is
performance, since you're talking about a two level interpreter. The last
time I saw anything quite that slow was a /360 running a 1410 emulator
running a 650 simulator.

Very interesting idea. The trouble is, I can't see it being really small.
Making it cleanly extensible seems to require some of the features that
support extendability, such as namespaces (Forth dictionaries), etc.

Anyone want to work on it - either technically or politically?
> Sincerely yours, Roman Suzi
> --
> _/ Russia _/ Karelia _/ Petrozavodsk _/ rnd at onego.ru _/
> _/ Saturday, July 07, 2001 _/ Powered by Linux RedHat 6.2 _/
> _/ "OK, I'm weird! But I'm saving up to become eccentric." _/
>

John Roth
"I'm interesting, you're eccentric, she's wierd."
>





More information about the Python-list mailing list