Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/17/84; site uvicctr.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!lll-crg!qantel!hplabs!tektronix!uw-beaver!ssc-vax!uvicctr!collinge From: collinge@uvicctr.UUCP (Doug Collinge) Newsgroups: net.micro,net.lang.c,net.lang.pascal,net.lang.forth Subject: Re: FORTH, the heat is on (sorry Don Henley) [long] Message-ID: <163@uvicctr.UUCP> Date: Mon, 13-Jan-86 14:03:26 EST Article-I.D.: uvicctr.163 Posted: Mon Jan 13 14:03:26 1986 Date-Received: Fri, 17-Jan-86 06:35:00 EST References: <1191@princeton.UUCP> <681@pucc-j> <444@tekchips.UUCP> <703@pucc-j> Reply-To: collinge@uvicctr.UUCP (Doug Collinge) Distribution: net Organization: University of Victoria, Victoria B.C. Canada Lines: 49 Keywords: set oven temperature to 250 degrees Xref: watmath net.micro:13508 net.lang.c:7600 net.lang.pascal:434 net.lang.forth:348 In article <703@pucc-j> rsk@pucc-j.UUCP (Wombat) writes: >In article <444@tekchips.UUCP> toma@tekchips.UUCP (Tom Almy) writes: >>Normally I don't bother to flame back at flames, but this one has some >>errors that I cannot ignore. (This issue may cause a net meltdown...) >>In article <681@pucc-j> rsk@pucc-j.UUCP (Wombat) writes: >>>There are severe problems with Forth that prevent it from being much more than >>>an interesting (failed) exercise in threaded-interpretative language design. >>>1. Forth is a lot harder to read than even Lisp or APL; at my former employer, >>>where we used Forth in real-time control and number-crunching applications, >>>we called it a "write-only" language. It has to be just as hard to write "readable" C code but no-one calls it a "write-only" language. The difference, perhaps, is that C is written, by and large by university-educated programmers and Forth is not. Let's face it: there are no "readable" languages, only "readable" programs. >>>> 2) Can't pass arguments explicitly. This must be the biggest readability problem - in fact, it is simply horrible. However, when I realized this, I just wrote the code to put named parameters into the language. Try that in your favourite language. Granted, it should be an option in the standard... >>>> 3) Forward referencing (including recursion) is not normal. Bye-bye AI. Recursion is no problem. Mutual recursion IS a problem that can be solved in a portable, albeit horrible, way. Don't do AI in Pascal, C, FORTRAN, or Forth. >>>> 5) Scoping, name-space rules are terrible. Forth programmers don't seem to use vocabularies as extensively as they ought. Using vocabularies we can write nice modules with all the nasty stuff neatly hidden away. >Forth is like falling in a hole. Well, each to his own: Berkeley Unix is the biggest, deepest hole I have ever fallen into and I don't expect to ever make it out. The bottom line is: does it get the job done? I was extremely skeptical about Forth when I started but now I wouldn't use anything else for process control applications like my own, computer-cotnrolled art. -- Doug Collinge School of Music, University of Victoria, PO Box 1700, Victoria, B.C., Canada, V8W 2Y2 decvax!nrl-css!uvicctr!collinge decvax!uw-beaver!uvicctr!collinge ubc-vision!uvicctr!collinge