home .. forth .. colorforth mail list archive ..

[ColorForth] code sharing


I think code sharing in the colorForth context is valuable for learning.
And, certainly, if you take the time to verify that my code is not going
to erase your hard drive, then you should feel "enabled" to run it.

But I think, more generally, that code sharing so that others can _use_
your code goes against the grain of colorForth. Not only is it not safe to
run someone else's colorForth code unchecked, but colorForth is just not
built for sharing.

Like John Drake, I too enjoy Oberon. I think of Oberon as being one or two
levels "up" from colorForth. ColorForth is a kind of assembly language, in
my mind, whereas Oberon is a "high level" language. But Oberon is about
the simplest (strongly typed) high level language you could have (and is a
very refreshing alternative to C and that ilk).

I was reading something Wirth wrote the other day. He asserts that a
programming language *must* insulate you from the vagaries of the machines
it runs on, because otherwise you are left unable to prove properties
about your program.

This makes sense. The idea is that if a language has a formal,
mathematical definition, then you can derive properties of your program
that you can count on. (Insert cautionary tales about how things don't
always work out that way in practice here). With colorForth, on the other
hand, you have to derive the properties of your program from the hardware
directly.

Which is exactly the point. That's why Oberon is "high level" and
colorForth is not.

Oberon has the necessary property for code sharing: a specification which
does _not_ depend on hardware. ColorForth does not have such a
specification and, moreover, is explicitly aimed at the hardware. It is, I
think it's accurate to claim, a hardware scripting language.

All this is to say that I think colorForth is necessarily a personal
programming environment, and that sharing of ideas and such can happen,
but that code sharing is inherently, and quite severely, limited. By
design.
------------------------

To Unsubscribe from this list, send mail to Mdaemon@xxxxxxxxxxxxxxxxxx with:
unsubscribe ColorForth
as the first and only line within the message body
Problems   -   List-Admin@xxxxxxxxxxxxxxxxxx
Main ColorForth site   -   http://www.colorforth.com
Wiki page http://kristopherjohnson.net/wiki/ColorForth
ColorForth index http://www.users.qwest.net/~loveall/c4index.htm