stever@tree.uucp (Steve Rudek) (12/14/89)
As you know, I've been playing "devil's advocate" in a number of previous postings and I've been disparaging Forth (though mainly Forth implementations...it's tough to disparage a language which won't hold still :-). It seems to me that Forth use is in decline. It's possible I'm mistaken, but I've noticed that computer magazines have increasingly distanced themselves from the language and that even past Forth implementors seem anxious to dissociate themselves from Forth. For example, the only reference to Forth you'll see in current issues of Dr. Dobbs is in the "Structured Programming" column where the column logo shows a tree with various programming language names labelling the branches. The Forth branch is broken and falling off the tree. The logo dates back to when Forth articles were almost as common as C articles...then it was cute but now it seems more sarcastic. And when was the last time that Ray Duncan admitted in PC Magazine that he was a Forth vendor...or that he even used the language? DOES he still use the language or does he only sell it? He's promoting C and assembler and MS-DOS and OS/2...but no Forth. In another magazine I read a glowing report about the "Actor" language. The article mentioned how Actor's author, Charles Duff (?), previously designed a neat language called "Neon" for the Mac. I thought it was interesting the way the article left of mention of the fact that Neon was a Forth derivative. Forgive my paranoia, but I got the feeling that piece of information was left out deliberately. And notice how hidden are the few remaining ads for Forth implementations. I got a 150 page catalog from The Programmers Shop which contained probably 1500 language products...but only one Forth implementation. What happened? WHY did it happen? What (if anything) can be done to reverse or at least halt the declining popularity of Forth? In <14874@well.UUCP> jax@well.UUCP (Jack J. Woehr) said: > Forth showed a path for the future, but the future diverged > perversely. Imagine if it had been Forth, not hopelessly crippled BASIC, > that had been provided to every purchase of a late-'seventies micro ??? The implication is that Forth would now be the premiere language for computer programmers, I guess? I think it's more likely that far fewer microcomputers would have been sold and that the microcomputer revolution would have been delayed by several years until other languages came around. Other than BASIC and assembler, Forth was the only language easily available for the first few years of microcomputers. A lot of people were dissatisfied with BASIC for a variety of reasons and were highly motivated to adapt themselves and their projects to Forth. For those who needed a high level language with copy protection of source code or speed or structure Forth was the only game in town. So a lot of people eagerly investigated Forth...and concluded that they'd rather not play at all than play with Forth. It was much easier for me to learn my first assembly language than to learn Forth; I *still* don't know Forth well enough to write a decent video game but I could write one in assembly, or C, or Pascal, or BASIC. For some strange reason, approximately every three years I get a hankering to take another shot at Forth. It BUGS me that I have such a tough time with Forth--I learned APL and LISP okay and they aren't that "conventional". So here I am in another of my Forth cycles. This time, though, I have F83 (with F-PC on the way) and the Kelly and Spies "Text and Reference" and I suspect I'll survive the learning curve. Whether I'll *like* Forth or not I won't know for a while. However, I *do* like a number of aspects of the language considerably (the modularity, the extensibility, the speed) or I wouldn't keep coming back to it. Anyway, I've developed some definite ideas about why Forth has failed to catch on except as a "cult" and "hardware hacker's" language. And I have some definite ideas about what might be done to improve its popularity. I've shared some of my thoughts with you folks in this and earlier postings. I'd like to read more of your ideas, though, before I present more of my own. Here's the challenge: Suppose your life depended on getting Forth established as a (reasonably) popular language. Further suppose that you had considerably programming and MARKETING resources. What would you do? -- {pacbell!sactoh0! OR ucdavis!csusac!}tree!stever
bryan@intvax.UUCP (Jon R Bryan) (12/15/89)
From article <1989Dec14.013516.24694@tree.uucp>, by stever@tree.uucp (Steve Rudek): > ... I've noticed that computer magazines have increasingly > distanced themselves from the language and that even past Forth implementors > seem anxious to dissociate themselves from Forth. > Ray Duncan and Jack Woehr are still plugging Forth regularly in "Embedded Systems Programming" magazine. Nice mag, guys. I've gotten several useful things from it already. -- Jon R. Bryan <=> bryan@intvax.UUCP Sandia National Laboratories Intelligent Machine Principles Division Albuquerque, New Mexico
peter@ficc.uu.net (Peter da Silva) (12/16/89)
In article <1989Dec14.013516.24694@tree.uucp> stever@tree.uucp (Steve Rudek) writes: > What happened? WHY did it happen? What (if anything) can be done to reverse > or at least halt the declining popularity of Forth? One of FORTH's biggest advantages was that it allowed a complete development environment with very limited resources. We had at one time a multi-user development system with only 16K of RAM! But it cost as much as a loaded 386-based UNIX box does now. And that's the point. Resources are now cheap enough that FORTH's greatest advantage is vanishing. -- `-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. "It was just dumb luck that Unix managed to break through the Stupidity Barrier and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com
brunjes@rtech.rtech.com (roy brunjes) (12/16/89)
In article <1989Dec14.013516.24694@tree.uucp> stever@tree.uucp (Steve Rudek) writes: > >Anyway, I've developed some definite ideas about why Forth has failed to >catch on except as a "cult" and "hardware hacker's" language. And I have >some definite ideas about what might be done to improve its popularity. >I've shared some of my thoughts with you folks in this and earlier postings. >I'd like to read more of your ideas, though, before I present more of my >own. Here's the challenge: Suppose your life depended on getting Forth >established as a (reasonably) popular language. Further suppose that you >had considerably programming and MARKETING resources. What would you do? > >{pacbell!sactoh0! OR ucdavis!csusac!}tree!stever Well, for starters, I'd have standard wordsets developed that ran unchanged on many different hardware/OS platforms. So that keyboard input, mouse input (where appropriate), displaying text, displaying graphics, sound, etc. all "looked" identical in terms of the Forth you would code to make it happen. String handling is one area that Forth let's you "roll your own" (there's that phrase again ...) way of doing things. Provide one way of doing it for the guy who doesn't want to roll his own that is full featured enough that he doesn't have to implement extensions to do basic stuff! In fact, maybe support a higher level abstraction of a Forth universe and develop smaller universes on top that provide consistent ways to do things (consistent across platforms) for those who just want to do the "usual" things. For those who really want to do something unique, there's the full unrestricted Forth "universe" to play in. For the learner of Forth, this layered approach would mean a learning curve that seemed more like a few shorter ones, with a language that always had room to grow into. It should be possible to write USEFUL programs in a few days/weeks if the higher level universes were well thought out. Surely the Forthers of the world could agree on some minimal set of wordsets to implement? It's kind of like what I understand the ANSI committee is trying to do with the language (but I do not follow what they do, so no one quote me on that). String handling, graphics, sound, windowing, floating point ... all of these come to mind as essential wordsets for general purpose computing in the 90's. There are arguably many others. As for marketing ... I am not talented in this area in the least. I suppose the real way to get something to catch on is to have successful applications attributed to the language. Any independently wealthy Forth sympathisers willing to fund some development to yield such an application!? Anyone else care to respond to this interesting question posed by Steve? Roy Disclaimer: My opinions, not my employer's etc.
bouma@cs.purdue.EDU (William J. Bouma) (12/16/89)
When I first started reading net.news about two years ago I was amazed, no, shocked to find a group devoted to the forth language. No one had even heard of it at my undergrad institution. Few people here have heard of it and none that I have met have ever used it. These are places that teach computer science folks! If it isn't being taught then people have to learn about it on their own. Given that there are so many accepted languages powerful enough to do real work, what motivation is there to seek out a new one? In article <1989Dec14.013516.24694@tree.uucp> stever@tree.uucp (Steve Rudek) writes: >In <14874@well.UUCP> jax@well.UUCP (Jack J. Woehr) said: >> Forth showed a path for the future, but the future diverged >> perversely. Imagine if it had been Forth, not hopelessly crippled BASIC, >> that had been provided to every purchase of a late-'seventies micro ??? > >The implication is that Forth would now be the premiere language for >computer programmers, I guess? I think it's more likely that far fewer >microcomputers would have been sold and that the microcomputer revolution >would have been delayed by several years until other languages came around. I will have to agree with the jax on this one. If there had been no basic, but only forth for the early micros I do not believe it would have affected their sale at all. Most people just use what they are given since they don't know there is anything better. Those who used canned software wouldn't have known the difference, and those who wrote the programs back then were mostly hackers at heart anyway. >Other than BASIC and assembler, Forth was the only language easily available >for the first few years of microcomputers. A lot of people were dissatisfied >with BASIC for a variety of reasons and were highly motivated to adapt >themselves and their projects to Forth. For those who needed a high level >language with copy protection of source code or speed or structure >Forth was the only game in town. So a lot of people eagerly investigated >Forth...and concluded that they'd rather not play at all than play with People are basically lazy 8^). They were faced first with finding an implementation of forth that would run on their micros, then with learning, on their own, the differences it presented. It does not surprise me that some people take one look at forth and decide it isn't worth the effort. But if they were given forth rather than basic, and had not already been molded into the basic way of thinking, they would have used forth and found it acceptable to do work. >Forth. It was much easier for me to learn my first assembly language than >to learn Forth; I *still* don't know Forth well enough to write a decent video >game but I could write one in assembly, or C, or Pascal, or BASIC. >For some strange reason, approximately every three years I get a hankering >to take another shot at Forth. It BUGS me that I have such a tough time >with Forth--I learned APL and LISP okay and they aren't that "conventional". Could you isolate what it is about forth that is giving you such a hard time? I don't see how it could be giving you any trouble if you have learned all these other languages. Just take your lisp program, remove the parenthesis, and write it backwards. You now have a forth program 8^). Perhaps you are having trouble because you have to learn it on your own. All of these other languages were taught to you in school? If you want forth to become more popular, you have to get it into the schools. -- Bill <bouma@cs.purdue.edu> || ...!purdue!bouma
trier@wrangell.scl.cwru.edu (Stephen Trier) (12/16/89)
I think Peter hit on one of the big reasons for Forth's decline. When I got involved in Forth, a 16K Tandy CoCo was a mid-range machine, and Forth is excellent at being a memory miser. (My first attempt to implement Forth was on a CoCo.) I haven't seen Forth really improve much with the times. C and BASIC both had more or less "standard" dialects, but Forth left quite a bit more up to its implementors. Another fault of many Forths are the throwbacks to the days when Forth was an operating system, with those terrible 1024-character editing screens. What we need is a more user-friendly, highly interactive Forth, with sensible text-editor style editing. Build some standard libraries for it, and get everyone to use them. (How? I don't know! :-) ) Call it Turbo Forth, ignoring the fact that Forth's already _fast_, and give it away or sell it. I know that many Forth systems try to provide some of these features, but very few of those maintain much cross-compatibility with "standard" Forths. <=> Stephen Trier seldon!sct@skybridge.SCL.CWRU.Edu sct@po.CWRU.Edu trier@skybridge.scl.CWRU.Edu {sun,att,decvax}!cwjcc!skybridge!trier
wmb@SUN.COM (12/16/89)
> Surely the Forthers of the world could agree on some minimal set of wordsets > to implement? It's kind of like what I understand the ANSI committee is > trying to do with the language Agreement is a very difficult thing to achieve. For example, believing that memory allocation is important, I convened a working group at this summer's Rochester Forth Conference. The group consisted of most of the Forth vendors at the conference, as well as any other interested parties. We worked out the specification for a memory allocation wordset which was acceptable to all concerned. I presented the proposal at the October ANSI Forth meeting. It was defeated. There were violent disagreements in all directions, many of them mutually incompatible. One person rejected it because it could not allocate memory in different segments on the PC (which would be useless, because the ANSI standard has absolutely no words for accessing such memory even if it could be allocated). I was so frustrated by the experience that I had to get up and leave the room. Frankly, I wonder why I bother. The process of obtaining agreement on any such issue is a political problem, from start to finish. Politics is hard. In this arena, the payoff is entirely unclear. Programming is a lot more fun. On the brighter side, the ANSI committee has made some progress; there is a file access wordset. It's woefully incomplete, but it's a lot better than nothing. The floating point wordset is pretty good. I have little hope that the Forth community will come to any sort of agreement whatsoever on issues of graphics and windowing, considering that the computer industry at large is involved in a massive battle over which window system becomes the standard (Microsoft can't even decide between it's own two window systems, let alone the raging battles between the various Unix camps). My fear is that the ANSI Forth standard is "too little, too late". Mitch
gary@softway.oz (Gary Corby) (12/16/89)
stever@tree.uucp (Steve Rudek) writes: >Suppose your life depended on getting Forth >established as a (reasonably) popular language. Further suppose that you >had considerably programming and MARKETING resources. What would you do? I would die. I can't imagine forth without reverse polish, and I can't imagine a (reasonably) popular language that isn't intuitive. Reverse polish notation is anything but intuitive. Therefore I'm in trouble. I feel very much as you do about forth and have had the same experience trying to learn it thoroughly. I keep thinking this could be a great language but every time I try to do something serious with it frustration eventually sets in. This is normally due to the vast effort I have to go through to do things which are built into other languages. Example: Formatted I/O. Yes, it can be done, but why don't I get standard libraries to do all the work for me? The major advantages seem to me to be that it's a very fast yet portable language. Unfortunately those are also the marketing advantages of C. Now I know a lot of forth enthusiasts will point out lots of ways in which forth is faster than C. That's true. But the difference isn't big enough to overcome the fact that C has a more obvious syntax for the average programmer. Had the harware remained at the same primitive level of 15 or 20 years ago I'm sure forth would have prospered. As it is if your C programs aren't fast enough then you go down to the corner store and buy a faster machine. So to make it more acceptable to the world I think you need the following: 1) Standard libraries for various common functions. 2) Removal of reverse polish syntax, but don't ask me how. 3) A few successful public domain systems written in forth. This would force people to learn the language. 4) Microsoft and IBM announce that their next offering will be implemented in forth. Point 3 is the most accessible to the common forth enthusiast. Has anyone, for example, written a news reader in forth? How about a TCP/IP implementation? Gary Corby
jax@well.UUCP (Jack J. Woehr) (12/17/89)
In article <1989Dec14.013516.24694@tree.uucp> stever@tree.uucp (Steve Rudek) writes: > ... lots deleted here and there below .. >It seems to me that Forth use is in decline. Possibly in program development for IBM PC's. I.e., what Forth runs under Windows? But Forth is BOOMIN in embedded systems and realtime control as witness the December issue of Embedded Systems Programming, the January issue of Dr. Dobbs, and many other sources. >It's possible I'm >mistaken, but I've noticed that computer magazines have increasingly >distanced themselves from the language and that even past Forth implementors >seem anxious to dissociate themselves from Forth. Not ESP or Dr. Dobbs. Implementors disassociating selves? Who? Your Ray Duncan example refuted by his column in the december ESP. Dr. Dobbs example refuted by January issue. >And notice how hidden are the few remaining ads for Forth >implementations. I got a 150 page catalog from The Programmers Shop which >contained probably 1500 language products...but only one Forth >implementation. Forth programmers don't *need* all the expensive tools that other programming langauges require. No "lint" for example! No expensive debuggers. I don't know why programmers shop, etc. don't carry H/S Forth, but so what? > >What happened? WHY did it happen? What (if anything) can be done to reverse >or at least halt the declining popularity of Forth? > What's happening is that Forth has gravitated to its natural niche, systems where Forth is the beginning and end of it, i.e., embedded systems. At Vesta Technology, Inc., we sell a variety of board for control programming with standalone Forth. We don't need no steenking operating system! Vesta is a five-year-old startup, we're growing over ten percent this year in sales this. Over the five years of Vesta, annual growth is well over 20%. >In <14874@well.UUCP> jax@well.UUCP (Jack J. Woehr) said: >> Forth showed a path for the future, but the future diverged >> perversely. Imagine if it had been Forth, not hopelessly crippled BASIC, >> that had been provided to every purchase of a late-'seventies micro ??? > >The implication is that Forth would now be the premiere language for >computer programmers, I guess? I think it's more likely that far fewer >microcomputers would have been sold and that the microcomputer revolution >would have been delayed by several years until other languages came around. I disagree. Forth is a great operating system. I launch C applications, ASM applications, etc., from my standalone Forth single-boards. If the Amiga had been programmed in Forth, It would have been ready a year sooner and would have offered interpretive graphics from the command line ... >I *still* don't know Forth well enough to write a decent video >game but I could write one in assembly, or C, or Pascal, or BASIC. Foof! Then what is all this noise on the net about Forth that we hear from you? :-) > >For some strange reason, approximately every three years I get a hankering >to take another shot at Forth. It BUGS me that I have such a tough time >with Forth--I learned APL and LISP okay and they aren't that "conventional". >So here I am in another of my Forth cycles. This time, though, I have F83 >(with F-PC on the way) and the Kelly and Spies "Text and Reference" and I >suspect I'll survive the learning curve. Whether I'll *like* Forth or not >I won't know for a while. However, I *do* like a number of aspects of the >language considerably (the modularity, the extensibility, the speed) or I >wouldn't keep coming back to it. > Now you're getting smart, Jethro ... :-) >Here's the challenge: Suppose your life depended on getting Forth >established as a (reasonably) popular language. Further suppose that you >had considerably programming and MARKETING resources. What would you do? I'd port something very much like JForth to every operating system in the free world. Then I'd give away about 10,000 copies to critical nodes in the programming world. And I'd advertise the shit out of it. "Hi, I'm Jessica Hahn, and I program in Jforth!" :-) {}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{} {} jax@well ." Sysop, Realtime Control and Forth Board" FIG {} {} jax@chariot ." (303) 278-0364 3/12/2400 8-n-1 24 hrs." Chapter {} {} JAX on GEnie ." Tell them JAX sent you!" Coordinator {} {} jax@well.sf.ca.us {} {}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
peter@ficc.uu.net (Peter da Silva) (12/18/89)
Some random comments: (1) ANSI Forth standardisation is gonna be a dead end. Forth folks go with popular implementations, which is why FigForth and PolyForth together basically define Forth-83. (2) There WAS a micro with Forth as the basic language. It was the Jupiter Ace: basically a Sinclair ZX81 with Forth instead of BASIC. (3) Where's the Forth source on the net? Are there any FORTH source mailservers? If not, would someone on the Arpanet care to set one up? I've just sent away for the mailserver software from twwells.com, and you can too. Too many of us can't FTP. -- `-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. "It was just dumb luck that Unix managed to break through the Stupidity Barrier and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com
dbin@norsat.UUCP (Dave Binette) (12/19/89)
Maintaining old Forth code after a 2 year absence really brought home the ugliness of the 1K editing screens. Elegant to implement possibly, but awful to use. Peter Da Silvas comments about makeing a more "mainstream" forth rang true for me. I would like to see.. Standard ascii text files for source (LMI has this) Function tags (like ctags). Btree support. Postfix user data entry facilities. A window management module. Memory management routines. All part of a standard distribution. My recent involvment has not been in writing NEW Forth code but rather converting existing applications to C. Painfull as it is, when i revisit perfectly good working Forth code and want to do a rewrite or convert to a larger >64k based implimentation I realize that many hacks done to the kernel to provide a sufficient base for real user application are just too fuzzy and require many hours of study to determine all the side effects. Converting an existing application to a new implimentation of forth is NOT a big win, w~rhen the alternative is a rewrite in C especially when the person paying the bill expects significant enhancements that are much easier to provide in C and the plethora of PD packages available for windowing etc. Forths miserly approach to memory usage (a good thing) really bucks the horrible trend that Microsloth embraces of using more resources than are usually available, still Forths approach to memory is very limiting. I like malloc() and its children. --- uucp: {uunet,ubc-cs}!van-bc!norsat!dbin | 302-12886 78th Ave bbs: (604)597-4361 24/12/PEP/3 | Surrey BC CANADA voice: (604)597-6298 (Dave Binette) | V3W 8E7 */
stever@tree.uucp (Steve Rudek) (12/19/89)
In article <8912160503.AA25980@jade.berkeley.edu>, wmb@SUN.COM writes: > > Surely the Forthers of the world could agree on some minimal set of wordsets > > to implement? It's kind of like what I understand the ANSI committee is > > trying to do with the language > > Agreement is a very difficult thing to achieve. For example, believing > that memory allocation is important, I convened a working group ... > I presented the proposal at the October ANSI Forth meeting. It was > defeated. There were violent disagreements in all directions, many of ... > The process of obtaining agreement on any such issue is a political > problem, from start to finish. Politics is hard. In this arena, My membership in FIG finally came through, together with current issues of Forth Dimensions and about $100 worth of disks and manuals (geared toward F83 and F-PC 3.5 (I'll come back to discuss my first impressions of F-PC in some other message, since it seems like Tom Zimmer read my thoughts about improving the functionality of Forth). Anyway, Brad, I caught your comments about Forth's "minimalist approach", use of blocks instead of normal files, etc. which were quoted in Forth Dimensions from a GEnie conference. Until seeing your comments and taking a look at F-PC I honestly didn't know that anyone with any sway in the Forth community would agree with any of my ideas for improving the language. (Silly guy that I am, I indulged myself in thinking that my comments would all be considered blashemous to "real" Forth programmers!) I can imagine your frustration in trying to bring a large number of Forth vendors plus "old-timer" Forth advocates to a consensus. I don't know how many people are on the Ansi committee nor how they are aligned, but I'm thinking that if there are more than about 5 people on that committee then trying to champion an idea through there is going to be nearly hopeless. Forth users tend to be an independent bunch, to begin with, and vendors have a vested interest in keeping their products distinct. I'm admittedly an outsider to Forth and FIG, but it seems to me that Forth has always made its biggest advances when FIG or other small groups of individuals basically said "screw it" and went ahead to promote a standard on their own. For example, consider Fig-Forth, MVP-Forth, F83 and, now, F-PC. The VENDORS have made almost zero contribution to the evolution of language standards but appear to have been dragged every step of the way. Laxen and Perry supposedly developed F83 because they didn't trust the vendors to properly promote that standard. The "community" would probably spend the next twenty years fighting over windowing and hypertext (on-line help) standards so I'm glad that Tom Zimmer, with F-PC, decided not to consult them. Too bad there aren't versions of F-PC for the Mac, Amiga, etc. THAT would really stir things up! I don't know how FIG works or how political things are at the upper echelon of that organization, but what would be the chances of getting FIG to officially promote a standard "add-on" wordset for strings, floating-point, windowing, hypertext help, editor, database, etc? I shouldn't be anywhere near the project that the original Fig-Forth was, though I'd imagine the opposition might be more organized now. In order for this to work, there'd have to be sufficient FIG affiliated programmers to pretty well cover all the major Forth dialects on all the major machines who would take care of customizing the standard word sets. Someone would call and order "Fig-Strings for F83 on a PC", for example. FIG could even pretend it wasn't ignoring Ansi and the vendors in promoting an independent standard; it could say it was just providing a service to its members. > My fear is that the ANSI Forth standard is "too little, too late". What's needed is a skunkworks along the lines of GNU and the Free Software Foundation: an advocacy which actively promoted Forth by providing a portable set of standards together with great documentation and a few really INTERESTING, highly polished applications which were portable across Forths by using Fig extensions. If Fig would distribute even one ARCADE QUALITY ADVENTURE GAME, portable across the major brands of micros through use of Fig extension word sets, they'd score a major public relations victory. They would entice a LOT of new programmers to investigate the language and they would provide a scaffolding upon which other protable, high quality programs could be built. (There's a lot to admire about F83 from a technical standpoint, but for a new programmer the environment is dull, Dull, DULL! I can only spend so many hours playing around with variations on printing bar charts (as taught in Starting Forth and K&S Text_and_Reference). One decent arcade game, on the other hand, would give me something interesting to tinker with and explore. I'm amazed that the Forth community apparently has such a poor grasp of human psychology as it pertains to motivation and public relations. If something isn't done to change that, Forth is going to go the way of the dinosaurs--just project how far it's fallen from favor over the last decade and project that to the year 2000. No, you don't need to be a mathematician to figure out where Forth is going to be. Can't someone provide me with an FUN application written to run under F83 (preferably) or even F-PC which will really wow me? I see that FIG can provide me with a number of really boring (a.k.a. "advanced math and Artificial Intelligence") extension wordsets...but not an impressive (or even an unimpressive) arcade game??? Tell me...if you're a 15 year old, not yet settled on a favorite programming language, what's there to excite you and attract you to learn F83? The answer is "N O T H I N G". -- {pacbell!sactoh0! OR ucdavis!csusac!}tree!stever
wmb@SUN.COM (Mitch Bradley) (12/19/89)
> Dave Binette writes: > I would like to see.. > Standard ascii text files for source (LMI has this) This is becoming pretty widespread. LMI, JForth, MultiForth, Forthmacs, Sun Forth, F-PC, Mach II, HS Forth, all use or support text files. Apologies to implementations I have forgotten; pretty much everybody is doing it. The ANSI standard will encompass it too (I have been assigned the task of writing "strawman" proposals to specify the precise semantics of text file interpretation). > A window management module. It would be extremely difficult to come to agreement in this area, consdering the many combattants in the "window system/toolkit war" (Macintosh, Presentation Manager, MS Windows, X11, NeWS, Motif, New Wave, Open Look, Display Postscript). Whatever you pick, 70% of the people are going to disagree violently. > Memory management routines. I proposed a set of memory management routines, semantically similar to malloc() and free(), at the last ANSI meeting. Alas, the proposal did not pass. A majority voted for it, but there were enough "nays" to prevent the "overwhelming consensus" necessary for passing an ANSI Forth proposal. In my opinion, the reasons given by the "naysayers" were bogus: 1) A couple of people think it is unnecessary because they personally do not need it (those people only use systems for which Forth owns the entire address space of the machine). 2) One person did not like it because it did not solve all his problems with DOS (the proposal intentionally does not address the problem of allocating memory in "nonlocal" segments, because ANSI Forth currently has no way to access such memory even if it can be allocated). As a followup to this message, I will post my proposed memory allocation wordset, along with an implementation. Mitch
peter@ficc.uu.net (Peter da Silva) (12/19/89)
In article <1989Dec18.185612.8335@tree.uucp> stever@tree.uucp (Steve Rudek) writes: > What's needed is a skunkworks along the lines of GNU and the Free Software > Foundation: an advocacy which actively promoted Forth by providing a > portable set of standards together with [a lot of cool stuff] Sounds great, but don't put an obnoxious GNU-style license on it. Here's the one I use: /* * Copyright <year> <your organization> * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose with or without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. * * This program is publicly available, but is NOT in the public domain. The * difference is that copyrights granting rights for unrestricted use and * redistribution have been placed on the software to identify its * authors. You are allowed and encouraged to take this software and * build commercial products, freeware products, shareware products, and * any other kind of product you can think up, with the following restriction: * * If you redistribute the source to this program, or a derivitive of that * source, you must include this copyright notice intact. If the system * this source is distributed with is under a stricter license (such as * a commercial license, the typical freeware "no commercial use" license, * or the FSF copyleft) then you must provide the original source under the * original terms. Your code and your changes are your business. If you * want to give them away, great. If you don't, that's OK too. * * <your organization> makes no representations about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. * * <your name> DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL * <your name> BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * * Author: <your name>, <your organization> * <your address> */ Notes: o Do not include the words "All rights reserved" unless you have had a lawyer verify that you have also explicitly given away all of the necessary rights shown in the samples. (this, I have been informed, may reduce your rigts in some countries. It's a tough call) o Spell out the word "Copyright"; the phrase "(c)" is NOT a legal alternative to the c-in-circle symbol. o Put at least a one-line copyright at the top of EVERY source file, if not the full copyright. Also, the copyright line or full notice MUST physically appear in each file. Using the preprocessor to #include the copyright from some other file has no legal meaning (it can be used to incorporate common strings into the binary, but has no effect on the status of the source code). o Things that are copyrighted are, by definition, not in the public domain. -- `-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. "It was just dumb luck that Unix managed to break through the Stupidity Barrier and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com
LEFF@PITTVMS.BITNET (12/20/89)
Interesting points about a copyright notice--you are absolutely correct about the (c) symbol not being legal--you need to spell out copyright or use the abreviation Co., followed by the year and the agent who holds the copyright. Of course if you can produce a "c with a circle" this will substitute legally as you have mentioned. The thing you did not mention is the simple fact that you MUST REGISTER YOUR PRODUCT with the Copyright office in Washington or else you legally have nothing! Also, this fine difference between putting software in the public domain, and making it publically available is moot unless you secure legal rights by registering your product. Once you have a legal copyright, THEN you can dictate how your product is used, copied, reused, resold, etc... I went through all this when I took my public domain program VT100.C64 out of the public domain, improved it, copyrighted it and THEN, sold it to a local firm under the name EMULATOR.100, a true VT100/VT102/VT52 terminal emulator for the Commodre 64, and written in FORTH! It's marketed by Allegheny Software Works, P.O. Box 7103, Pgh., PA 15213, and they have done very well with this FORTH based commercial package!
jax@well.UUCP (Jack J. Woehr) (12/21/89)
In article <1989Dec18.185612.8335@tree.uucp> stever@tree.uucp (Steve Rudek) writes: ... lots deleted... >The VENDORS have made almost zero contribution to the evolution of >language standards but appear to have been dragged every step of the way. Not true. Forth, Inc. still sells the best commercially available multiuser Forth operating system; Harvard Softwarks pioneered full-mem-model 80386 Forth; LMI UR/Forth hopped into the OS/2 market before most software houses knew a DLL from a dildo; Delta Research maintains what is still the premiere 68000 Forth, JForth, which incorporates most of your suggested improvements and much much more, and has done so since 1986. >The "community" would probably >spend the next twenty years fighting over windowing and hypertext >(on-line help) standards so I'm glad that Tom Zimmer, with F-PC, decided >not to consult them. Hypertext is a feature, no-one is going to argue about that in a Forth system. Neat feature, very helpful, has no more impact on Forth itself than the color of your keyboard. > Too bad there aren't versions of F-PC for the Mac, >Amiga, etc. THAT would really stir things up! > FPC is Tom Zimmer's quite brilliant idea of making a Forth for the PC/DOS world that runs nearly as well as JForth on the Amiga. To do so he came up with a very clever way around the "brain-damaged" Intel architecture. I commend him for that and look forward to the OS/2 version, but to say that it points the way for the Amiga is like saying the economy of Romania points the way for Eastern Europe! >I'm amazed that the Forth community apparently has such a poor >grasp of human psychology as it pertains to motivation and public >relations. Forth programmers, as a class, couldn't sell shaved ice in hell. We are working on it. Image will change. >go the way of the dinosaurs--just project how far it's fallen from >favor over the last decade and project that to the year 2000. No, you >don't need to be a mathematician to figure out where Forth is going >to be. Forth is in use in more installations than ever before in its history. It is becoming the premiere embedded control language, which is where it was born. PC programmers have some darn funny ideas. According to EDT, 90% of the computer bux are spent on embedded systems in America, 10% on the type of computer people sit at a desk and use. > >Can't someone provide me with an FUN application written to run under >F83 (preferably) or even F-PC which will really wow me? Sure, buy the Prolog interpreter advertised each month in FORTH Dimensions magazine. Better yet, go visit a friend with an Amiga and see the JForth demos, or the JGoodies0 disk ... {}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{} {} jax@well ." Sysop, Realtime Control and Forth Board" FIG {} {} jax@chariot ." (303) 278-0364 3/12/2400 8-n-1 24 hrs." Chapter {} {} JAX on GEnie ." Tell them JAX sent you!" Coordinator {} {} jax@well.sf.ca.us {} {}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}
henk@cs.eur.nl (Henk Langeveld) (12/21/89)
LEFF@PITTVMS.BITNET writes: >The thing you did not mention is the simple fact that you MUST >REGISTER YOUR PRODUCT with the Copyright office in Washington or >else you legally have nothing! The USA joined the Berne Convention some time ago, so this may not be necessary anymore. Under the Convention, the author of a work holds the copyright on that work, from the time that the work is created, automatically, implicitly. However, it can still be useful to register your work, just to make sure you can prove that you're the author. Henk (See Disclaimer:) -- Henk Langeveld, Unix SysAdmin | domain: <henk@cs.eur.nl> Department of Computer Science | phone: +31 10 4081346 Erasmus University Rotterdam | also: langeveld@hroeur5.bitnet Room H5-05, P.O.Box 1738, NL-3000 DR Rotterdam, The Netherlands.
stever@tree.uucp (Steve Rudek) (12/22/89)
In article <8912190115.AA29047@jade.berkeley.edu>, wmb@SUN.COM (Mitch Bradley) writes: > > Dave Binette writes: > > I would like to see.. ... > > A window management module. > > It would be extremely difficult to come to agreement in this area, > consdering the many combattants in the "window system/toolkit war" > (Macintosh, Presentation Manager, MS Windows, X11, NeWS, Motif, New Wave, > Open Look, Display Postscript). Whatever you pick, 70% of the people > are going to disagree violently. This is ridiculous. I'd bet that if a vote was held, at least 99% of all FIG members would agree it is ridiculous. Where do they get Forth 'Standards' teams from, anyway? Do they recycle retired COBOL standards teams or something? Forth is supposed to be a lean, flexible language, which encourages reasoned but "proactive" development. This is supposed to make the development process FASTER. So why is it taking Forth LONGER to reach any meaningful degree of "standardization" than it's taking other languages? Aren't Forth programmers supposed to believe in cutting past the crap and getting things done? Forth should be the FIRST language to have a windowing standard. The FIRST language to have a Btree standard. The FIRST language to have an OOP standard. Just because you have a standard doesn't mean that people HAVE to use it. A standard doesn't really take away a choice, it adds a choice. General George Patton believed in getting things done and the U.S. Army isn't exactly an anarchy. General Patton said "A good plan VIOLENTLY EXECUTED RIGHT NOW is far better than a perfect plan executed next week." And, besides, there IS a windowing standard! IT'S CALLED "CURSES". But TEN YEARS after curses, Forth programmers don't have ANY windowing standard -- not even a text-based windowing standard as good as curses?? And now the plan is to wait another five years until C PROGRAMMERS agree on the design of a bit mapped windowing standard? Oh well, boys and girls. As Jerry Pournelle likes to say, it's just "evolution in action". Specifically, it reminds me of the Dr. Seuss story about the South going Zax and the North going Zax "who met face to face and stopped dead in their tracks." If you didn't read it when you were younger you ought to read it now. Maybe we should chip in to get all the members of the Ansi "Standards Team" a copy of that story for Christmas? -- {pacbell!sactoh0! OR ucdavis!csusac!}tree!stever
wmb@SUN.COM (Mitch Bradley) (12/23/89)
> > It would be extremely difficult to come to agreement in this area, > > consdering the many combattants in the "window system/toolkit war" > This is ridiculous. ... > ?Forth is supposed to be a lean, flexible language, which encourages > reasoned but "proactive" development. This is supposed to make the > development process FASTER. So why is it taking Forth LONGER to reach > any meaningful degree of "standardization" than it's taking other > languages? Aren't Forth programmers supposed to believe in cutting > past the crap and getting things done? Since when does a fast development process help the process of getting human beings to agree on anything? If anything, it makes it worse; Forth development can be so fast that many people can do their own window systems, and once a Forth programmer has written some code, he'll be damned if he is going to throw it away and adopt somebody else's idea of how that problem should be solved. Talk from a theoretical basis all you want; I've been there in person, and I SEEN a different REALITY. Furthermore, Forth programmers are anarchists at heart (otherwise they wouldn't buck the establishment and continue to use Forth despite all the pressure to use C). > And now the plan is to wait another five years until C PROGRAMMERS agree on > the design of a bit mapped windowing standard? It's not C programmers that establish the standard; it's the marketplace. If Forth comes up with its own standard, who will use it? Successful Forth systems for the Macintosh use the Macintosh window system. Successful Forth systems for the Amiga use the Amiga window system. In the Macintosh marketplace, anything that doesn't conform to the Mac user interface is despised. This would be true in the PC marketplace too, if the PC had a user interface standard (one that came bundled with ever PC and which most applications used). > Where do they get Forth 'Standards' teams from, anyway? The ANSI team is composed of people and companies who are willing to put their money and time where their mouths are. By ANSI rules, meetings must be held at various locations. This requires travel. It probably ends up costing about $2000 a year, or more, to travel to all the meetings. Regardless of how you say it "ought" to be, getting a group of opinionated Forth programmers to agree on anything is really, really, hard. Anybody who does not believe me should try to drive the establishment of a standard way of doing something in the Forth community. I started trying to do this for file system interfaces back in 1983, and I have kept at it ever since. (At FORML a couple of years ago, I won an award for "most persistence" based on my continuing efforts in this area). What effect did it have? Very little. The thing that finally drove the ANSI committee to accept a file system interface standard (which is much weaker than the one that I have been proposing all this time) is marketplace pressure. It seems that nearly all vendors, bowing to customer demand, have already added file system interface capabilities. The ANSI version is a "least common denominator" among those vendor's systems. Did anybody choose to adopt my 1983 proposal (which was based upon C "standard I/O" principles and thus a know complete and useable set)? No. No vendors. No implementors of PD or private systems. I published and put in the public domain a high-performance, complete, portable implementation. Why not? Because EVERY FORTH IMPLEMENTOR WANTS TO DO EVERYTHING HIMSELF, FROM SCRATCH. Should it be that way? No. Is it that way? Yes. I have seen this attitude time, and time, and time again. Mitch
stever@tree.uucp (Steve Rudek) (12/25/89)
In article <15140@well.UUCP>, jax@well.UUCP (Jack J. Woehr) writes: > In article <1989Dec18.185612.8335@tree.uucp> I said: > >The VENDORS have made almost zero contribution to the evolution of > >language standards but appear to have been dragged every step of the way. > > Not true. Forth, Inc. still sells the best commercially available > multiuser Forth operating system; Harvard Softwarks pioneered full-mem-model > 80386 Forth; LMI UR/Forth hopped into the OS/2 market before most software > houses knew a DLL from a dildo; Delta Research maintains what is still > the premiere 68000 Forth, JForth, which incorporates most of your > suggested improvements and much much more, and has done so since 1986. Note I said "evolution of STANDARDS". > Hypertext is a feature, no-one is going to argue about that > in a Forth system. Neat feature, very helpful, has no more impact > on Forth itself than the color of your keyboard. I guess it may be a bit unrealistic to hope for a Forth "hypertext" standard. Still, it became evident to me after seeing VIEW in F83 that Forth, more than any other language, can make use of a hypertext-like language documentation facility. Hypertext is Forth's best hope for a resurgence in popular favor. I said earlier that Forth's learning curve was too steep. That, of course, is not quite correct. The learning curve may actually be LESS steep than with many other languages. It's just long. Long, long, very, very, long. And it's mainly because of the huge number of words involved in the language. And the fact that you pretty much MUST know ALL the words and how they interrelate before you can program anything significant in Forth. Forth is sort of like the Mandarin Chinese of the programming languages--I understand that the number of words in F-PC version 3.5 approaches 3,000. Mandarin Chinese doubtless gives you exquisite control of nuances, also, but I keep hearing how large it is and how hard it is to master. A hypertext "standard" for Forth is probably too much to hope for. But it is what Forth very much needs. I couldn't disagree more with you about its "impact". > > Too bad there aren't versions of F-PC for the Mac, Amiga, etc. > FPC is Tom Zimmer's quite brilliant idea of making a Forth > for the PC/DOS world that runs nearly as well as JForth on the Amiga. I need to see JForth, obviously. It must be amazing. Since you've obviously seen both I'll defer to your judgement and your suggestion in a previous posting that it should be JForth which is elevated to a "standard". I understand that JForth is a commercial Forth--good for the vendors. If I had an Amiga I'd probably be happy to pay for it. I wonder how the authors would feel about having the "look and feel" of their implementation cloned on other architectures? Wouldn't it be fun if a handful of the most creative, generous, and prolific Forth implementors (maybe Tom Zimmer, Roedy Green, Mitch Bradley and the authors of JForth) formed their own standards committee and introduced a new generation of Fig Forth? > >I'm amazed that the Forth community apparently has such a poor > >grasp of human psychology as it pertains to motivation and public > >relations. > Forth programmers, as a class, couldn't sell shaved ice in > hell. We are working on it. Image will change. By "we", do you mean Fig? Is there an ORGANIZED, intelligent effort underway to change Forth's image? I (obviously) like campaigns. Maybe I can help in some way? > >go the way of the dinosaurs--just project how far it's fallen from > >favor over the last decade and project that to the year 2000. No, you > >don't need to be a mathematician to figure out where Forth is going > >to be. > Forth is in use in more installations than ever before in its > history. It is becoming the premiere embedded control language, which is where > it was born. ... > 90% of the computer bux are spent on embedded systems in America, > 10% on the type of computer people sit at a desk and use. Surely you know the difference between absolute numbers and market share? What you're saying here and in a previous message is that Forth is doing very well now that it has admitted defeat as a general language and RETREATED to the niche it came from -- instrument control. I sure wouldn't count that as a victory. The number of microcomputers has obviously exploded in the last decade. I imagine even the most obscure language can gather statistics showing that the number of implementations of that language has grown dramatically. > 90% of the computer bux are spent on embedded systems in America, > 10% on the type of computer people sit at a desk and use. Statistics can be abused to "prove" all sorts of things. I'm curious to know how this was calculated but I will accept it, for now, as gospel truth. So...there are at least ten million PCs out there (probably many more)? How many embedded control systems? What MARKET SHARE does Forth have in embedded control systems? It's such a great language and it's been around for almost 20 years and it's gotten a lot of press. Surely Forth must have at least 50% -- hopefully more like 90% -- market share? Are you saying that there are millions and millions of embedded Forth systems out there or only a few very expensive ones? You mentioned earlier that your company had something like a 20% annual growth over the last five years. That surely isn't peanuts but, speaking frankly, it isn't exactly super impressive, either. In fact, I have a hunch that if you segregated microcomputer software companies into three camps -- declining, stable, growing -- you'd find that 20% growth is kind of average for growing companies. Just a hunch, you understand. But I've spoken to employees of a number of companies which are advancing in the Unix software market and they are reporting 25% revenue growth rates as sort of an average. There are apparently some companies which are doing much better. And if Forth DOESN'T have a 50% or better market share in embedded systems (tell me...does it even have 10%???) what is it going to do when -- five or ten years from now -- all embedded systems...even toasters...sport at least a meg of memory? Can Forth beat out C in such a market when practically all computer programmers know C (having learned it on the "10%" of the computer market which Forth has conceded) and almost nobody knows Forth? -- {pacbell!sactoh0! OR ucdavis!csusac!}tree!stever
peter@ficc.uu.net (Peter da Silva) (12/27/89)
Lest anyone think I'm a Forth hater in drag, I'd like to point out that the following is not really relevent: > If Forth comes up with its own standard, who will use it? > Forth systems for the Macintosh use the Macintosh window system. > Successful Forth systems for the Amiga use the Amiga window system. > In the Macintosh marketplace, anything that doesn't conform to the > Mac user interface is despised. A standard *program interface* to the windowing system can be devised just as easily as a standard program interface to, say, files. A stringy floppy, a diskette drive, and a UNIX file system all have radically different low-level interfaces. But you can look at them all as block files. Similarly, a standard program interface to windowing could be made. It might be fairly complex to implement, but something like the following should be made to run on X, Mac, Intuition, GEM, etcetera... WINDOW MyNewWindow : InitMyNewWindow SCREENSIZE MyNewWindow SetSize HOME MyNewWindow SetPosition DESKTOP " Open" MyNewWindow SetMenu OpenMenu ! DESKTOP " New" MyNewWindow SetMenu NewMenu ! DESKTOP " Close" MyNewWindow SetMenu CloseMenu ! BACKINGSTORE RESIZABLE DRAGGABLE HIDEABLE + + + MyNewWindow SetAttributes ; : HandleMyNewWindow ( event --- ) dup GetEventType SWITCH CASE MouseButtonUp DO 0 MyNewWindow SetPen CASE MouseButtonDown DO 1 MyNewWindow SetPen CASE MouseMove DO dup GetXPos over GetYPos MyNewWindow PlotPixel CASE MenuSelect DO dup GetMenuID SWITCH CASE OpenMenu DO MyNewWindow HandleOpenEvent CASE CloseMenu DO 1 TerminateFlag C! CASE NewMenu DO HOME SCREENSIZE 0 MyNewWindow RectFill ENDSW ENDSW drop ; -- `-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. "It was just dumb luck that Unix managed to break through the Stupidity Barrier and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com