Newsgroups: comp.realtime,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: <jfoxCxxs76.D3p@netcom.com>
Summary: scale is important
Sender: jfox@netcom.com (Jeff Fox)
Organization: Netcom Online Communications Services (408-241-9760 login: guest)
References: <jfoxCxs677.K3q@netcom.com>
            <tsikesCxtpK5.ICM@netcom.com> <id.B2ZD1.QOA@nmti.com>
Date: Wed, 19 Oct 1994 20:13:54 GMT
Lines: 64
Xref: glinda.oz.cs.cmu.edu comp.realtime:7261 comp.robotics:14577

In article <id.B2ZD1.QOA@nmti.com> peter@nmti.com (Peter da Silva) writes
>In article <tsikesCxtpK5.ICM@netcom.com>,
>Terry Sikes <tsikes@netcom.com> wrote:
>> Would you care to address the issue of Forth's reputation as an
>> unmaintainable, write-only language?  ;)
>
>I've maintained unmaintainable write-only code in lots of languages, and
>if I had to maintain unmaintainable write-only code in any language I'd
>choose Forth.
>
>Forth isn't inherently write-only, and there's no language out there that
>is the least bit difficult to write unmaintainable code in.
>
>On the other hand, Forth doesn't seem to scale that well.
                                          ^^^^^
I agree if by scale you mean BLOAT!  Forth is good to scale down the
required computing resources and scale up the performance.  But if
you mean scale up the required resources, costs, development time and
scale down the performance by a couple of orders magnitude then I
AGREE!

It is clear from what has been said in this thread that Forth and
QNX and some others can SCALE down well to improve performance and
reduce cost and performance overheads.  Windows does not scale down.

62 minutes response to events does not quality as real time... And
it is NUTS to consider using a OS that can have a 62 minute half-life 
between crashes for an application described as capable of producing
a dissaster in the real world if it fails!  

The range of recomendations here has been mind boggling!

Imagine applying some of the stuff that has been suggested in this thread.

"Your robot is doing a demonstration of autonomous laser welding at a
crowded trade show when the part being welded fails and falls from the
robot's grip sending the welding beam into the crowd."

1. 62 minutes later your WINDOWS based robot reboots due to a system
   crash and shuts off the laser  beam by accident.

2. 60 seconds later your WINDOWS NT based robot detects the error and shuts
   down.

3. 60 miliseconds later your QNX based software detects the error and shuts
   down.

4. 60 microseconds later your professional realtime Forth software
    on your Intel based robot detects the error and shuts down.

5. 60 nanoseconds later your Forth hardware robot detects the error
    and shuts down.

Take your pick.   (and check with the legal dept about insurance.)

I had mentioned Forth Inc. in my post because although all of the Forth
projects I have done involved 1-4 programmers they have lots of experience
with large projects, and large scale applications.  

The original post suggested the potential for a scene like the one above...
SO I suggested the kind of code that goes into these critical apps. :-)

Jeff Fox
Ultra Technology
