Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!caip!topaz!ll-xn!nike!lll-crg!seismo!uwvax!astroatc!philm From: philm@astroatc.UUCP (Phil Mason) Newsgroups: net.lang.forth Subject: Re: The Flip side of Forth Message-ID: <462@astroatc.UUCP> Date: Fri, 27-Jun-86 10:42:26 EDT Article-I.D.: astroatc.462 Posted: Fri Jun 27 10:42:26 1986 Date-Received: Sat, 28-Jun-86 08:08:12 EDT References: <9100009@uiucdcsb> <9100013@uiucdcsb> Reply-To: philm@astroatc.UUCP (Phil Mason) Organization: Astronautics ATC, Madison, WI Lines: 72 In article <9100013@uiucdcsb> liberte@uiucdcsb.CS.UIUC.EDU writes: > >Phil's response to my note was not the flame I anticipated. >Thanks for being civilized, not that I expected you wouldnt be...:-) Civility and a good measure of tact and restraint are necessary in this forum since it relies soley on the written word. Verbal cues and body language fail dismally in this arena. >But it did reflect well the perspective of many Forth programmers. >As he repeatedly pointed out, if you want something different from >what is given, you can build it yourself. But my point is that you >dont have much to start with. Across the board, almost every feature >of Forth is very primitive compared to what I am used to, and even that >is primitive compared to what I want. The one thing that attracted >me was the Builds-Does extensibility. This is the only feature not >found in (many) other languages. Forth is indeed a bit on the primitive side. This leaves the applications writer with a simple set of simple tools to work with. Using the tools, one can create your favorite set of meta-tools to create applications. Screens come in handy by making your sources swappable and reuseable at the source level. Careful construction of each new application can yield lots of tools to use on the next project. >>I'd rather code in Forth than assembly language, any day. > >OK, compared to assembly language, Forth is great. But I don't code >in assembly language either. Forth is a good language for a lot of things. Assembly is a real pain unless you really need the speed. Forth gets you close to the machine without the excess baggage. >>It seems that what you wanted to do was to radically restructure Forth. >>If you go too far, you lose all of the simplicity, portability and versatility >>of Forth. You end up with a system that can not be called Forth and does not >>share its advantages. Try restructuring LISP or C or Pascal if you want to >>really run into a wall. > >Yes I wanted to radically restructure Forth. I wouldnt mind trading >alot of Forth's simplicity for more powerful tools. Other languages >dont have the same kind of extensibility as Forth, but almost all >(simple basics excluded) have a named subroutine extensibility *built in* >to the language. I won't comment on the portability and versatility issues. Build tools in Forth. It's alot of fun. >If you are interested in how Forth works internally, you will need >something like (I forget the exact title and author) "The System >Programmers Guide to Fig-Forth". Most books do not get into the >Builds-Does constructs either, which leads me to believe that >most Forth programmes do not use it much. Builds(Create)-Does gives you the the freedom to create new classes of words with your desired bizzare behavior. Builds(Create) describes what kind of structure you create in the dictionary and Does describes the run-time behavior of the words you create. Some Forth programmers don't seem to use them much. Too bad. They're alot of fun and quite useful. I guess my main point is that Forth is really a fun language to use and its extensibility and simplicity make it useful for a wide variety of applications. -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Kirk : Bones ? | Phil Mason, Astronautics Technical Center Bones : He's dead Jim. | Madison, Wisconsin - "Eat Cheese or Die!" - - - - - - - - - - - - - - - -| ...seismo-uwvax-astroatc!philm | I would really like to believe that my ...ihnp4-nicmad/ | employer shares all my opinions, but . . . =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=