Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!bionet!apple!ames!pacbell!noe!marc From: marc@noe.UUCP (Marc de Groot) Newsgroups: comp.lang.forth Subject: Re: Real programmers Message-ID: <651@noe.UUCP> Date: 17 Jul 89 20:37:00 GMT References: <10202@dasys1.UUCP> <33180@apple.Apple.COM> Sender: root@noe.UUCP Reply-To: marc@noe.UUCP (Marc de Groot) Organization: Noe Systems, San Francisco Lines: 63 In article <33180@apple.Apple.COM> Erik Fair writes: >In the referenced article, aj-mberg@dasys1.UUCP (Micha Berger) writes: >>Real programmers use FORTH, and know that cc's main significance is its use in >>TV guide to tell deaf people their bosex will put text on the bottom of the >>screen. > >Forth is Lisp, badly reimplemented on inadequate hardware by an >astronomer who didn't know what he was doing. C is assembler, so poorly implemented that it takes six MONTHS to port a crummy version of the compiler (This time period is from the paper on pcc, the portable C compiler). Forth is not Lisp. The only thing Forth has in common with Lisp is that both are completely unlike anything else. Forth has similar strengths to Lisp. One interesting strength that it does NOT share with Lisp is that Forth will run usably fast on hardware that I can afford to put in my home. Hardware is only inadequate when it won't run fast enough to do the job at hand. If your software development tools can't be used to develop code for my hardware, then there's something wrong with your tools. CPU's don't exist for the sake of making compilers work well; it's the other way around. Forth avoids the headaches and overhead of garbage collecting while giving the programmer similar tools. This means that Forth will give better performance than Lisp no matter what the hardware (with the possible exception of "Lisp engines"). C, of course, is a compact notation for assembler. The designers had only that goal in mind -- they thoughtlessly made the language complex to parse, and difficult to write debuggers for. Systems designers see the need for a seamless environment -- the C shell is an example of what I mean. Everyone understands the desire to have the command-level language and the programming language look alike. Forth solved this problem years ago by having the two languages BE THE SAME THING -- you may issue system-level commands or write code at any Forth prompt. Forth is internally MUCH CLEANER that a typical Lisp interpreter. There is no need for "syntactic sugaring" in Forth, a trend in the Lisp world that makes parsers more complex, more opaque, and more difficult to debug. I would concede that Forth is something like Scheme -- a very simple Lisp-like interpreted language whose approach is one of high performance and minimalism. Finally, Charles H. Moore, the inventor of Forth, has never been an astronomer. -Marc "Rebel Without A Compiler" de Groot "I don't CARE about small machines." -Richard Stallman, on being informed that GNU Emacs won't fit on an 80286 UNIX box because elisp is too big. -- Marc de Groot (KG6KF) These ARE my employer's opinions! Noe Systems, San Francisco UUCP: uunet!hoptoad!noe!marc Internet: marc@kg6kf.AMPR.ORG