4 ms·
"I learned a lot more about the Forth community, and how they despise my (perhaps misguided but well-intentioned) attempts to teach people about the principles
by gnosis 15y ago
"I learned a lot more about the Forth community, and how they despise my (perhaps misguided but well-intentioned) attempts to teach people about the principles of writing a Forth interpreter."
Could you elaborate on that? Why would they despise your attempt to help others?
Also, thank you for writing JONESFORTH. It's a very useful resource.
- rwmj 15y agoThe nub of the problem (for them) is that JONESFORTH isn't an ANSI-standard Forth. The secondary problem is that because I wrote it from scratch on my own, I didn't follow a bunch of traditions about "my granddaddy wrote Forth this way and it was good enough for him", details that are really irrelevant if you're just trying to explain how Forth works. Anyhow if you want to find out more, go to: https://groups.google.com/group/comp.lang.forth/topics https://groups.google.com/group/comp.lang.forth/topics and type "JONESFORTH" in the search box.
- gnosis 15y ago"The nub of the problem (for them) is that JONESFORTH isn't an ANSI-standard Forth." You might find this quote interesting: "The ANS Forth standard is at least one, maybe two orders of magnitude more complex than Mr. Moore's approach to Forth. He says that code should be so simple that most type of errors simply can't happen. In the late eighties and early nineties Chuck quit writing code in Forth and experimented with sourceless programming. His first versions of his VLSI CAD software, OKAD, were constructed without source using his tools in his OK operating system. Later he return to Forth programming and rewrote OKAD II under his new colorForth. [Moore, 2000] In the chat session Chuck was asked, 'How did you come to the conclusion that Forth was too complex, and that sourceless programming was your next move?' His reply was, 'Maybe by reading the Forth Standard.'" From: http://www.ultratechnology.com/levels.htm http://www.ultratechnology.com/levels.htm
- wbhart 15y agoAm I reading this right? Chuck Moore decided that all programming could be done with sourceless coding and his demonstration of this was a graphical application? This is so common, yet so totally wrong. It's akin to the "revelation" that algebra is not necessary in mathematics because all mathematics can be "visualised". Which is equally stupid. However, I may just be misinterpreting what is being said in that quote. After all, I don't know why he then switched back to Forth, which is not sourceless, I am guessing.
- gnosis 15y ago"Am I reading this right? Chuck Moore decided that all programming could be done with sourceless coding and his demonstration of this was a graphical application? This is so common, yet so totally wrong." He later recanted: "I'm back. OKAD was a mistake. I have added Forth to OKAD. ... A few years ago I gave up on Forth, it was too complicated. It was about the time of the work of the standard committee and I wanted something simple. I abandoned source and used a decompiler to view the object code. It did not really work. I also wanted to get away from the keyboard." More here: http://www.ultratechnology.com/color4th.html http://www.ultratechnology.com/color4th.html
- prodigal_erik 15y agoNo, Forth is not sourceless. Though I was startled to read about how some implementations give you a souped-up disk editor for coding, to avoid the overhead of a self-hosted filesystem. I guess it beats toggling bits into the front panel....
- kragen 15y agoI think JONESFORTH is awesome, I really enjoyed reading it, and I really appreciate you writing it, but there are a couple of points that could possibly be described as above, but maybe will sound a little less insane if described in full. • Your ROT originally was backwards. That is, rather than rotating the third element on the stack to the top, it pushed the top stack element down by two items, which is traditionally called -ROT. While obviously this is a purely arbitrary convention, and irrelevant to just trying to explain how Forth works, it did create unnecessary confusion; it means that anybody who actually learned Forth from JONESFORTH would constantly be struggling to remember which way ROT worked. I apologize for never properly reporting this to you. You fixed this in http://git.annexia.org/?p=jonesforth.git;a=commit;h=dccbff0e169d5467a78be5c6d935fa505f6a029f http://git.annexia.org/?p=jonesforth.git;a=commit;h=dccbff0e... • The design of JONESFORTH (last time I read it) doesn't accommodate CREATE DOES>, which is the Forth way of creating functions that have state — closures, if you will, or objects with a single method. This, by contrast, I think really is relevant to trying to explain how Forth works. The techniques that support CREATE DOES> (ITC, DTC) are no more complex than JONESFORTH. I think comp.lang.forth people were slamming JONESFORTH not because of anything about JONESFORTH but because they are mentally insane. (Although I can't really find the flames you were alluding to. The worst I found is complaints about minor incompatibilities like the above.)
- DennisP 15y agoYou're in good company, since Chuck Moore despises ANSI Forth, and has written several newer, simplified Forths.