Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!aramis.rutgers.edu!topaz.rutgers.edu!mccarrol From: mccarrol@topaz.rutgers.edu (Mark C. Carroll ) Newsgroups: comp.lang.forth Subject: Forth, Creativity, Snobbishness, and the Future Message-ID: Date: 2 Jan 90 21:08:44 GMT Organization: Rutgers Univ., New Brunswick, N.J. Lines: 61 This message is going to flash through quite a few topics, so hold on tight! Basically, I'm going to put in my two cents about why Forth is less successful than it should be, and where I think it should go. First of all, I'd like to add in my comments on what I see as one of the biggest strikes against Forth at the moment: the snobbishness of the proponents of Forth! The "defenders of the faith" for Forth are among the most self-righteous snobs that I've ever seen! Just look at the latest material here on comp.lang.forth... Someone said something along the lines of "Everyone creative already uses forth". Or the message that said, basically, "All those dummies can hack away in whatever they want - but WE WILL OVERCOME! WE ARE THE FUTURE!". Anyone who isn't already familiar with Forth is chased away by it! If it weren't for the fact that I was fascinated by Forth before I came here, I certainly wouldn't have wanted to have any part of it! The second strike against forth is a total lack of standardization. Here at work, I program a Pyramid, which runs both ATT SysV.3, and BSD 4.2. At home, I program an Amiga. If I use C with only standard library functions, the programs I write can work very happily on either one. I have that standard library, and so long as I stick with the functions in it, I can use the same programs (almost) in both universes on the Pyramid, and on my Amiga at home. Now, I pick up a Forth package... I've got two of them for the Pyramid now: Tile, and CForth. At home, I've got two for the Amiga: A4th, and Multi-Forth. A program written in any one of the four is almost impossible to run on the others! Even something as simple as recursion is handled in different ways in each of the four! Between them, I have 3 different ways of declaring and accessing simple data structures, none of which are compatible. (Cforth doesn't have ANY structure handling!) I have 4 different ways of accessing files! It's totally insane! Forth will never be taken seriously by the mainstream until you can provide a STANDARD ENVIRONMENT!!! So, my suggestions for the Future: 1> Try and cut the snobbishness. Forth programmers don't have a corner on creativity. Being good at Forth doesn't make you a god, so don't act like it! 2> Let's try to develop some sort of STANDARD ENVIRONMENT! This should include, at minimum: a> Recursion b> File I/O c> Strings d> Structures And we should at least consider the following: a> Local Variables -- Nice, but kind of against the spirit of Forth. b> Multi-tasking -- Also nice, but might be hard to come up with a portable way of implementing it. 3> Scrap screens! I find that whole screen model to be one of the most obnoxious, inconvenient, intolerable "features" of Forth! -- \ Mark Craig Carroll: \ "Don't ever think that you can't \ Student Systems Programmer - LCSR \ change the past and the future" \ Rutgers University \ -Kate Bush \ mccarrol@topaz.rutgers.edu \ (standard disclaimer applies)