Newsgroups: comp.realtime,comp.os.qnx,comp.os.ms-windows.advocacy,comp.robotics
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!yeshua.marcam.com!charnel.ecst.csuchico.edu!csusac!csus.edu!netcom.com!jfox
From: jfox@netcom.com (Jeff Fox)
Subject: Re: Real-time systems:  Windows-NT or QNX
Message-ID: <jfoxCxtun3.6ny@netcom.com>
Sender: jfox@netcom.com (Jeff Fox)
Organization: Netcom Online Communications Services (408-241-9760 login: guest)
References: <FriOct14102309EST1994@eric>
            <jfoxCxs677.K3q@netcom.com> <tsikesCxtpK5.ICM@netcom.com>
Date: Mon, 17 Oct 1994 17:16:14 GMT
Lines: 101
Xref: glinda.oz.cs.cmu.edu comp.realtime:7199 comp.os.qnx:2254 comp.os.ms-windows.advocacy:40687 comp.robotics:14468

In article <tsikesCxtpK5.ICM@netcom.com> tsikes@netcom.com (Terry Sikes) writes:
>In article <jfoxCxs677.K3q@netcom.com>, Jeff Fox <jfox@netcom.com> wrote:
>>In article <FriOct14102309EST1994@eric> bernie@ecr.mu.OZ.AU 
>>           (Bernie Kirby) writes:
>
>[pro-Forth discourse compressed]
>
>Would you care to address the issue of Forth's reputation as an
>unmaintainable, write-only language?  ;)
>
>--
>Terry Sikes               |  The sound of one hand clapping.
>Software Engineer++       |  The sound of a tree falling in the forest with
>tsikes@netcom.com         |  no-one to hear.
>My opinions - mine only!  |  The sound of IBM OS/2 for PowerPC booting.


Good point.  That is "it is Forth's reputation that is its biggest problem."
Most managers know nothing about Forth except what they have read in 
John Dvorak's column or heard through rumor.               

Any language is write only if you don't read it and program in it.  For
this reason Forth Inc. often has to provide some training to insure
that customers who choose Forth do it the right way.

I have picked up ten year old Forth programs that were as easy to 
maintain as if I had written them last week.

Forth is somewhat deserving of its write-only reputation because it has
been used that way by people who abuse it.  For this reason Forth Inc.
likes to make sure that professional users learn how to use it
properly.

Forth is designed to give the programmer total control at all levels,
and this is EASILY abused.  Imagine the result if each member of a
programming team changed the compiler internals independently to suit
their own personal whims without concern for the team effort.  I see
this as a management issue more than a language issue.  But it is 
true that it is easier to manage programmers if they are using a
language designed to limit the programmers.  From a management view 
it is best to use programmers who wear blinders and have very
short chains to jerk.

Forth is so simple that any idiot can write a Forth compiler.  And 
they can easily make Forth into their own idea of a langauge and 
write applications that no one can read, even them.  There are many
many public domain Forths available, which results in Forth having
a reputation that is very bad.

Forth Inc. is a very professional outfit, and their software and
support is not free.  They have applications on the space shuttle,
in deep space, and in many applications around you that may not
be aware of.

Forth's public domain reputation has always been a problem, as are
statements made by people like Mr. Dvorak. (Who gets paid for making
outrageous statements.)

I have heard many stories about how the only way Forth could get into
a development environment in a company was as a back up project.  That
is this application is being written by our team of C programmers,
but we will also develop a functional version in Forth just in case
there are  unexpected problems with the real program schedule.
I have heard so many stories like this where the team of ten C 
programmers gives a two year estimate, and the alternate team of
two Forth programmers delivers their working version 3 months later.

But these are programmers who have learned from professionals how to
do it properly, not beginners experimenting with free software
written by other beginners.  Reputations often come from what gets
the most  coverage, and in the case of Forth is beginners experimenting
with free software written by beginners.

Forth Inc. employees often comment that many of their best clients don't
like getting publicity about the fact the they use Forth.  Once they
have learned that they can improve the quality of their products and
reduce their development and maintenance costs by an order of magnitude
they consider this a trade secret.  They do not want to give their
competitors in the market place their winning formula.

It is a managers job to make sure that programmers are not writing
write-only code in whatever language is being used.  I have seen
totally unreadable programs in MANY different languages.  I see
this as a management issue.  

Because Forth is not  taught in universities much of people's exposure
comes from public domain stuff.  Anyway programmers tend to be strange
people, and some of the most strange are attracted to Forth.

Forth many many success stories (space probes,space shuttle, UPS,
Sun workstations,....) tend to get very little press.  Forth's
quirkyness tends to make a better story for the press.

Forth's inventor Chuck Moore seems to get more press for using a
7 key keyboard on his VLSI CAD system than for writing a VLSI CAD
system that is thousands of times smaller and faster than
conventional software, or for using it to design chips that are
thousands of times smaller and faster than conventional designs.

Jeff Fox
Ultra Technology
