[net.lang.forth] what good is Forth

ma168x@sdcc3.UUCP (John Wavrik) (06/20/86)

   The  debate on the issue of "what good is Forth" is complicated by the  fact
 that  Forth  has such a very wide spectrum of uses that it is  really  several
 languages.
   The  majority  of  my students are interested in learning Forth  because  an
 employer  or  their  research group uses it for instrumentation  and  control.
 Forth was first developed as a replacement for assembly language in this area.
 I'm  sure you can do almost anything in almost any language, but the idea that
 LISP  will  be  used  for  writing telescope  control  packages  seems  a  bit
 far-fetched.  Forth's  nearest competitor in this area is `C'. Forth  has  the
 advantage  of  providing an interactive environment which  speeds  development
 time.  It  is  particularly   well   suited   to  applications  which  require
 experimentation  with  the  program as it is being developed. In  some  cases,
 applications  have been developed in Forth with the intent to recode the final
 version  in  `C'  or assembly language .. but the Forth  version  worked  well
 enough that it was used as the end product.
   At  the  other end of the spectrum, an increasing number of programmers  are
 using  Forth for high level language applications (including AI where LISP has
 dominated). In this area, Forth is as suited for number cruching as for symbol
 manipulation;  it  can  handle random access (array-like) data  structures  as
 easily  as  pointer  oriented  (list-like) data structures.  It  is  fast  and
 efficient, and it is also very flexible.
   I  think that what makes Forth so attractive is that it caters to a  certain
 view  of  computing  which is not much in vogue these days. What is  the  most
 important  factor  determining the power of a computer language (or  operating
 system,  or  any  piece of software)? The most popular answer  is  that  power
 derives  from a large selection of features. The minority answer is that power
 derives  from  knowledge.  There  is a parallel in  the  way  people  approach
 mathematics: Most people try to memorize a large number of facts and formulas.
 Others  look  for the core of underlying ideas and derive what they need  when
 they need it.
   Forth presents the user with a simple and comprehensible framework. The user
 understands  and  has  access  to   all   parts   of  the  system.  With  this
 understanding, all kinds of "features" can be constructed which work precisely
 as  the  user desires. Forth is more a toolkit for building  custom  languages
 than a language itself.
   Forth  is  not a language for everyone, but I don't think there is  anything
 wrong in this.


                                                      John J Wavrik            
                                                      Math Dept                
                                                      Univ of Calif - San Diego
                                                      La Jolla, CA  92093      
 ..ucbvax!sdcsvax!sdcc3!ma168x