[comp.lang.forth] Smalltalk vs. Forth as high productivity tool

dwpst@unix.cis.pitt.edu (Douglas W Philips) (01/11/91)

In the January 91 Computer Language EOF column, Charles-A.
Rovira talks about the continuing "software crisis".  What he
refers to is the lack of highly productive programmers.  His
solution is to use Smalltalk.  Some of what he says seems
directly applicable to Forth as well, but some seems definitely
anti-Forth.  I'm interested in what other ForthNet readers
thought of his column.  Below I've included some quotes from
his column that I think are relevant to Forth (positively or
negatively).

[Quoted w/out permission, typos, etc. are mine. -dwp]

      The software crisis is the result of our being three to four
  orders of magnitude too slow. ...  The crisis will only be resolved
  when we're putting out 20,000 to 200,000 lines of error-free,
  working code in a matter of hours.  It's not an impossible
  goal. ...
      The problems of testing a large program grow exponentially. ...
      A program with 100 functions is not testable in any practical
  sense...
      Our productivity is so low because we design tools that actively
  encourage us to fail. ...
      I will tell you how I routinely generate 20,000 to 200,000 lines
  of code in a few hours.  I use Smalltalk. ...
      When I say 20,000 lines, I'm not talking about 20,000 lines of
  assembly language over which I have little control; I'm talking about
  20,000 lines of Smalltalk, all of which is instantly accessible (and
  changeable) from the environment. ...
      With Smalltalk, most of what is left for the programmer is
  "programming by exception." ...
      Smalltalk's overhead is large, but like Damocles, I've got more
  important things hanging over my head than any CPU will ever have.
      Failure to deliver means that I can't meet the mortgage.  Whatever
  delivers, whether it strains the CPU or not, is acceptable, as long as
  the customer agrees its acceptable.  Chip cycles are almost free, RAM
  is cheap; what is expensive is my time.  If I can't show results, no one
  will hire me.  If I can't produce the goods, I have nothing to sell.  I
  would rather have a program that works somewhat inefficiently than an
  amazingly efficient computer that doesn't do a thing.

[Actually I think the most appropriate medium for a reply to
 this would be a letter (or many!) to Computer Language.  A
 thorough comparision between his Smalltalk wonderfulness and
 Forth might even be worth an entire column.  If I had the Forth
 expertise I would attempt it myself.  -dwp]