[comp.lang.forth] C vs Forth

Marcos_de_la_Puerta_Borja%EUSKOM.SPRITEL.ES@SCFVM.GSFC.NASA.GOV (03/21/91)

>    Why do people always try to drag C into the argument?  I have never felt
>    the desire to add a new control to C.  I can program sufficiently in C
>    given the structures which are provided.  In addition C provides me with
>    a wide variety of types and uniform ways to create new ones and deal with
>    intermixing.

    C is a good language as much as Pascal. I have worked extensively in
Pascal, and these languages are perfect for using traditional programming
techniques. When writing such programs it is not necessary to further extend
the language constructs.

    Forth is the most flexible language I know. It enables the programmer to
do things nearly impossible in traditional languages, as C or Pascal. Imagine
that you are writing a multitasking kernel for your language, and you want
to use TRUE process declaration. How would you do it in Pascal or C?
Would you use a strange preprocessor? In Forth I can define such constructs
with a tremendous freedom, using the same resources as the compiler, and
controlling where and how the compiled code is placed, so when I started
to write concurrent programs in my 8 bit development system I did not need
to learn a new language, but extend my favourite one (Forth) for process
declaration, critical regions, etc.

    Such things are impossible in Pascal or C because the compiler is a
black box. Doing such things in Pascal or C is tricky if you don't rewrite
the compiler.

    Examples of the good uses of such features are in:

    "A Timed Event Network Scheduler in Forth" by Gregory Ilg and R.J. Brown,
Dr. Dobb's Journal, vol IV, issue 2, February 1989.
This excellent article shows an example of a user-oriented aplication
language which enables a user with no programming experience to define and
tune a network of processes.


> Bill <bouma@cs.purdue.edu>

************************************************************************
Borja Marcos              * Internet: m_d_l_p_b@euskom.spritel.es
Alangoeta, 11, 1o izq.    * UUCP: uunet!euskom.spritel.es!m_d_l_p_b
48990 - Algorta (Vizcaya) * FidoNet: Borja Marcos at 2:344/3.420
SPAIN                     *
************************************************************************