ab3@pucc-h (Darth Wombat) (01/18/84)
I disagree with Darrell (ihopa!dap) as regards his contention that Forth would be suitable for AI. There are severe problems with Forth that prevent it from being much more than an interesting (failed) exercise in threaded-interpretative language design. As Darrell said, it is (1) compact, (2) modifiable at runtime, (3) extensible and (4) hard to read. Some of these are also features/flaws of Lisp, depending on your viewpoint. However, I'd like to point out the following: 1. Forth is a lot harder to read than Lisp; at my former employer, where we used Forth in real-time control and number-crunching applications, we called it a "write-only" language. 2. There are at least an order of magnitude more implementations of Forth than there are of Lisp; and even implementations from the same vendor behave radically different on different processors. 3. The debugging support is non-existent. 4. The primitive set of operators is *very* large; and it is not orthogonally constructed; the names are not even *close* to mnemonic; and many operators have uncontrollable side effects outside the modules in which they are used. 5. Forth is *not* fast. It's not even quick. So forget handling lots of data with it, because you'll get very bored very quickly. 6. Forth is not structured, typed, or anything like that. When using Forth, you may forget anything you learned from Software Tools, or Elements of Programming Style, or Niklaus Wirth, or, rougly speaking, the last 15 years of evolution in programming techniques. The clincher for me is that over the last week and a half, I've been learning Lisp from Winston & Horn's book. I've already written programs in Lisp that I am unable to write in Forth; and I have over a year's experience with Forth. -- "Go ahead...make my day." Darth Wombat { allegra, decvax, ihnp4, harpo, seismo, teklabs, ucbvax } !pur-ee!rsk