[comp.lang.forth] Syntax again

wmb@MITCH.ENG.SUN.COM (03/15/91)

>    Syntax has not seriously gotten in my way, so I do
>    not understand where Mitch is comming from on this.

I guess I'm not really thinking about the problem of designing
a general purpose programming language here.  Instead, I am thinking
about all the random "little languages" that programmers constantly
invent; things like the command languages for interactive programs
(e.g. Unix "adb").

Those languages tend to start out with a relatively straightforward
syntactic structure, with a few magic characters and optional fields
and the like.  Pretty soon, new feature requirements arise, and have
to be "shoehorned" into the existing syntax.  After awhile, it degenerates
into a massive kludge.

I used to do the same thing, until experience with Forth convinced me
to steer away from syntactic formulations.  I have found that a postfix
formulation tends to expand gracefully as new requirements are presented.

A simple, strictly-prefix syntax as in LISP has the same nice properties.
I don't consider LISP's parenthesis syntax to be "too much syntax".

However, most prefix syntax forms, such as the Unix shell language, tend
to acquire additional syntax via "metacharacters".  The popular Unix
shell syntaxes have all degenerated into kludges by now.

One problem with syntax is that it is very difficult to design an
adequate syntax for a particular problem unless you have a complete
description of the entire problem in advance.  As problem domains
evolve over time, the chosen syntax can become a limiting factor.

Mitch Bradley, wmb@Eng.Sun.COM