Linked by Eugenia Loli on Tue 12th Nov 2002 20:39 UTC, submitted by bland est
General Development Forth has been a recognized programming language since the 1970's. ColorForth is a redesign of this classic language for the 21st century. It also draws upon a 20-year evolution of minimal instruction-set microprocessors. Now implemented on modern PCs, it runs stand-alone without an operating system. Applications are recompiled from source with a simple optimizing compiler.
Permalink for comment
To read all comments associated with this story, please click here.
OS Forth != true!
by Matthew Porth on Tue 12th Nov 2002 23:18 UTC

I don't see it quite as some have, esp. the first couple!

Forth isn't actually that portable. It is no more or less portable than C or C++. In other words it has portability issues to do with the size of an integer for example.

Forth is also NOT an OS. If it is similar to anything it is more like those wonderful BASICs of old where you could simply write and execute code (rather than the source->compile->app->run/debug cycle). In Forth (and indeed old BASICs esp. BBC and QL SuperBASIC as they both had advanced structure constructs such as functions) you write some code and then run it right there and then. The process of designing/writing/testing code is interleaved.

Instead of putting together an enormous app. framework as one huge monolithic structure and then running it you start from the components the system is made of and build up from an efficient library of code that you have constructed and tested as part of the act of programming. Test as you go. ALWAYS test as you go. Modern IDE environments actually make it fairly difficult to test out chunks of code such as a class or individual function.

Forth is also not an OS because (being "low level"*) it exposes the actual structure of the machine to you. You are encourage to build a computer in Forth. You are encouraged to know and decide what the inputs and outputs are.

Chuck has spent a great deal of time unifying the hardware and the software. This happens to be because stack machines are highly efficient compute engines.


*"low level" and "high level" are the 2 most ridiculous concepts EVER invented. There is no such thing. Just different levels of complexity!