Article View: net.arch
Article #2567Re: What's so good about FORTH? (long and controversial)
From: Phil Mason
Date: Fri, 13 Jun 1986 15:04
Date: Fri, 13 Jun 1986 15:04
75 lines
4948 bytes
4948 bytes
As Chuck Moore (the inventor of FORTH) says :
"You may have noticed that FORTH is a polarizing concept. It is
just like religion and politics, there are people who love it
and people who hate it and if you want to start an argument,
just say, "Boy, FORTH is a great language."
Well, I take a more positive view where FORTH is concerned.
FORTH represents a different kind of computing environment. It is its own
operating system, compiler, assembler, generic user-interface, development
system - you name it. FORTH can be thought of as a set of software tools, a
development system, a high-level language, a low-level language, or even an
application specific language. It depends on the viewpoint of the actual
user/programmer and the specific application whether or not FORTH fits into
any category at all. FORTH is easily extensible in a way that few other
computer languages are. You customize it for the application at hand.
FORTH was designed at a time that memories and mass-storage devices were
small. FORTH was created to match several criteria :
* small size : theaded-code is about a small as you can get.
* simplicity : FORTH's structure IS simple when it really comes down to it.
* versatility : if you need to customize, no problem. Need speed? Embed
assembly code among your actual FORTH source using a built-in
assembler.
FORTH really wasn't designed to make intelligent use of large memories,
handle large applications, manage large mass-storage devices; but, FORTH
CAN be customized, if desired, to tackle these enviroments. The only reason
I would bother to extend FORTH for big machines would be for portability of
applications from/to ANY micro-, mini- or super-computer. I have witnessed
the same EXACT source code run on a big computer, a workstation and a
microcomputer. Then again, you can do this with other languages as well,
if you are careful. You generally can't do it with operating systems due
either to the nature or size of them or copyright/proprietary/license hang-ups.
There are three main dialects of the language : FIG, 79-Standard,
and 83-Standard. Because FORTH is easily customized, there are literally
THOUSANDS of unique installations of the language around the world. This
can cause problems with portability unless code was based on one of the
major dialects. FORTH is easy to bring up on most computer systems.
A small amount of assembly coding is necessary for the innermost interpreter
and I/O, then the vast majority of FORTH is written in FORTH itself.
Only when you have really tried to learn a language and its methods and
meaning, can you appreciate its strong points and shortcomings. Your first
computer language was probably to hardest for you to learn. FORTH is different
enough in philosophy to present an intellectual challenge to those who want it.
You can write bad, unreadable, undocumented and thoroughly icky code in ANY
language you choose.
If you want to have an small, simple, extensible, self-contained development
environment that will run on almost anything, FORTH is probably for you.
If you want to go the regular route of C or PASCAL with a relatively hard
to customize operating system that you can't run on your micro at home, fine.
I happen to prefer using the enviroment suited for my application. It just so
happens that I see applications for FORTH where others may not.
---
Sorry for you guys in net.arch who are getting tired of HLL-->Assembly
discussions, but I think that FORTH is an interesting topic in the context
of direct treaded-code engines and self-contained environments as well as
a language for describing algorithms.
Flames (obnoxious or not) to /dev/null.
Intelligent criticism accepted.
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Kirk : Bones ? Phil Mason, Astronautics Technical Center
Bones : He's dead Jim. {Your Favorite System}!uwvax!astroatc!philm
My opinions are mine and not necessarily those of my employer.
(I would like to think that my employer believes in them too.) :-)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Technical Details
Message-ID:
<432@astroatc.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!allegra!princeton!caip!topaz!uwvax!astroatc!philmReferences:
<201@pyuxv.UUCP> <3700003@uiucdcsp> <132@vaxb.calgary.UUCP>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!allegra!princeton!caip!topaz!uwvax!astroatc!philm From: philm@astroatc.UUCP (Phil Mason) Newsgroups: net.arch,net.lang.forth Subject: Re: What's so good about FORTH? (long and controversial) Message-ID: <432@astroatc.UUCP> Date: Fri, 13-Jun-86 11:04:11 EDT Article-I.D.: astroatc.432 Posted: Fri Jun 13 11:04:11 1986 Date-Received: Tue, 17-Jun-86 07:59:35 EDT References: <201@pyuxv.UUCP> <3700003@uiucdcsp> <132@vaxb.calgary.UUCP> Reply-To: philm@astroatc.UUCP (Phil Mason) Organization: Astronautics ATC, Madison, WI Lines: 75 Keywords: FORTH, controversy, philosophy