[comp.lang.forth] Spreading Forth

ir230@sdcc6.ucsd.edu (john wavrik) (12/15/90)

Mitch Bradley writes,
# I have a tremendous amount of experience trying to "sell" Forth 
# to other people.  I have "sold" it to the world's leading 
# workstation vendor, an entrenched "C" shop.  As a result, there 
# are 100,000 more Forth interpreters than there were a year ago. 
 
Even though I use Forth because it is an excellent language for 
building medium-size customized systems in mathematics, I am 
always delighted to learn of applications of Forth in other 
areas. I am genuinely delighted to know that it is used in the 
boot prom of some of SUN's workstations. I also understand that 
it is used in the suspension system of Lincoln Continentals. I'm 
awaiting news from the JHU group to find out if I should brag 
about the use of Forth in the space telescopes.

My concern at the moment is with the spread of Forth as a 
programming language -- and I'm a bit confused by the evidence 
that is being presented.

Postscript, for example, is being presented as "popular". I've 
searched mail order catalogs for a version of Postscript as an 
independent programming language and have found none (I was able 
to find Forth). Is the fact that Postscript is used in a great 
many laser printers being taken as evidence of its popularity as a 
programming language? 

The fact that Forth is imbedded in the boot prom of 100,000 
workstations is a praiseworthy accomplishment. However, it seems 
to be being presented as evidence that Forth has been spread to 
100,000 new programmers. I must ask whether here, like 
Postscript, the presence of a language in a device is not being 
taken as evidence that people who own the device use the language 
for programming. Are instructional materials in the Forth 
language included? Is Forth being presented as a "primary 
language" available with SUN Workstations? Is it being supported 
as such? Do SUN Workstation users know that Forth is there? Do 
they know how to access it? IS THIS IS A COMPLETE STANDARD 
VERSION OF FORTH?  Would those who have a SUN workstation lab be 
able to use this Forth to teach a course in the language using 
current text books (e.g. Brodie or Kelly/Spies) -- or will they 
find words missing or altered? 
        
                                                  John J Wavrik 
             jjwavrik@ucsd.edu                    Dept of Math  C-012 
                                                  Univ of Calif - San Diego 
                                                  La Jolla, CA  92093 

wmb@MITCH.ENG.SUN.COM (Mitch Bradley) (12/17/90)

> My concern at the moment is with the spread of Forth as a
> programming language -- and I'm a bit confused by the evidence
> that is being presented [presence of Forth in Sun Boot PROMs.

> The fact that Forth is imbedded in the boot prom of 100,000
> workstations is a praiseworthy accomplishment. However, it seems
> to be being presented as evidence that Forth has been spread to
> 100,000 new programmers. I must ask whether here, like
> Postscript, the presence of a language in a device is not being
> taken as evidence that people who own the device use the language
> for programming.

It is certainly not the case that all 200,000 SPARCstation owners
(I just got some updated numbers) are Forth programmers (neither are
they all C programmers, or even programmers at all).  Everybody who
uses the firmware on SPARCstations is exposed to Forth.  People in
this category include Unix kernel developers, device driver writers,
system administrators, manufacturing technicians, and hardware developers
(both inside and outside Sun).

Furthermore, as with PostScript's presence in many laser printers, the
presence of Forth in the Sun PROMs is good for Forth's "image".

The Forth is not "hidden", and people who need to use the machine
at the firmware level have to use Forth.


> Are instructional materials in the Forth language included?

Forth manuals are not "bundled" with every workstation (nor are C manuals,
for that matter), but the boot PROM contains a "help" function that
describes basic Forth.  Also, a Forth tutorial is included with the
SBus developer's kit, which is what people buy when they want to learn
to use the machine at the firmware levels.  That kit also includes
several copies of a Forth/OpenBoot fan-fold reference card.


> Is Forth being presented as a "primary language" available with SUN
> Workstations?

No. I tried that tack several years ago, but the lack of interest from
the Sun establishment was overwhelming.  So I had to go in through a
different door.  It seems to be working.  A lot of Unix weenies at Sun
are now happily using Forth for machine bringup, and third-party Sun-
compatible hardware developers are now using Forth.


> Is it being supported as such?

The use of Forth in the boot PROM envirnoment is definitely supported.
The Forth group is part of the OS development organization.  We track bugs
using the same bug reporting/tracking database as all the other supported
software.  Forth is tested by the same software QA people that test the
operating system.  There is a full-time support person for helping people
write Forth code for their SBus card drivers.

That support person has given Forth training classes to hundreds of
people all over the world, and I have given at least 6 Forth/OpenBoot
presentations to packed auditoriums (I'm not counting presentations
at Forth meetings), with several more planned in the near future.


> Do SUN Workstation users know that Forth is there?  Do they know how to
> access it?

Many do.  Certainly not everybody knows about it, but that is true of most
of the 100+ Megabytes of software that comes with a Sun.  There has been
absolutely no attempt to "hide" the fact that Forth is there, or to call
it something else.


> IS THIS IS A COMPLETE STANDARD VERSION OF FORTH?

It is complete, except for lack of mass storage access.  However, you
can download Forth source code over a serial line, or store it in non-
volatile RAM using a built-in miniature text editor.  It is about as
standard as any other 32-bit Forth.  It has a built-in decompiler and
disassembler, DUMP, WORDS, ALSO/ONLY, Forth and C stack backtrace on
error, etc.  F83 users will find it reasonably familiar.


> would those who have a SUN workstation lab be able to use this Forth
> to teach a course in the language using current text books (e.g. Brodie
> or Kelly/Spies) -- or will they find words missing or altered?

_Mastering Forth_ (Anderson and Tracy) would be a good choice of a textbook,
especially if augmented by the "Learning Forth" chapter from my Forthmacs
User's Manual.  That chapter describes the differences between my Forth
implementation and the dialect described in _Mastering Forth_.  The
majority of those differences are related to the 32-bit nature of my systems,
and most of the rest are related to implementation details or non-standard
features of MasterForth.

If the Forth 83 version of _Starting Forth_ (Brodie) had existed when
I wrote that chapter, I might have compared to it instead of _Mastering
Forth_.

A better teaching vehicle for Forth in Sun-equipped labs would be my
Sun Forth product that runs under Unix.  It is basically the same
Forth as in the boot PROMs, but it has been tuned for use within
the Unix environment instead of in the bootup environment.  A university
site license is available for a modest price.

Mitch Bradley