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