Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!SCFVM.GSFC.NASA.GOV!ZMLEB From: ZMLEB@SCFVM.GSFC.NASA.GOV (Lee Brotzman) Newsgroups: comp.lang.forth Subject: Re: PYGMY Forth Message-ID: <9009220156.AA15045@ucbvax.Berkeley.EDU> Date: 22 Sep 90 01:23:02 GMT References: Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 34 > >Because the interpreter is such an integral part of forth, it >seems much less "satisfying" to write forth in forth (as opposed >to writing a C compiler in C). When I am asked about the best way to learn Forth (which I'm not asked often), I reply that the best way is to roll your own. It is amazingly easy given that the rollee has some rudimentary knowledge of common computer science techniques like linked lists, string (token) parsing, stacks, and fundamental operating system interfaces. I was able to do it fresh out of college with a B.S. in Astronomy minoring in Computer Science. The highest hurdle is grasping the workings of the inner interpreter; and after that, the outer interpreter. The interpreter operation just isn't something taught in school (at least in my school). It isn't hard, just different. Whether the interpreters are learned from assembly or C isn't important. It's knowing them, and by induction, how to manipulate them, that all of Forth falls into place. From there, the operations of BRANCH and ?BRANCH, (DO) and (LOOP), etc., is trivial. Some systems de-emphasize the progammers involvement with the inner workings of Forth. Fine. Compared to the complexity of other software I have to contend with daily, Forth is trivial. Learning it on my own gave me the insights I have applied to systems ranging from IBM System/370 mainframes, to VAXen, to Sun workstations, to PCs. When it comes right down to it, they all work the same, only different. Writing a Forth for the Commodore 64 (and then the Apple //), that was source-compatible with IBM PCs, CP/M machines, and VAXen, proved that to me. Enough philosophy. -- Lee Brotzman (FIGI-L Moderator) -- BITNET: ZMLEB@SCFVM Internet: zmleb@scfvm.gsfc.nasa.gov -- "Between an idea and implementation, is software." -- Curse from Hubble -- Space Telescope engineer.