🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.arch
Article #2567

Re: What's so good about FORTH? (long and controversial)

#2567
From: Phil Mason
Date: Fri, 13 Jun 1986 15:04
75 lines
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!philm
References: <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