pfaff@gemini.asd.contel.com (Ray Pfaff - Oakwood 457 934-8162) (07/06/89)
Doug Merrit writes: >When a company uses Forth to write software, it means only one thing: they >want it finished by tomorrow. This is typical of defense contractors, who >have to have their bid beating that deadline... You must mean done, not working. Forth isn't a language to be used to get something working quickly. I`ve worked in defense contracting for 10 years and I`ve never heard of Forth being used as anything except a joke. Ray Pfaff
phil@eos.UUCP (Phil Stone) (07/06/89)
In article <19053@louie.udel.EDU> pfaff@gemini.asd.contel.com (Ray Pfaff - Oakwood 457 934-8162) writes: >You must mean done, not working. Forth isn't a language to be used to get >something working quickly. >I`ve worked in defense contracting for 10 years and I`ve never heard of Forth >being used as anything except a joke. > >Ray Pfaff I think Phil Burke and his partner (whose name I have forgotten) would take strong exception to this. To refresh your memory: these two won the speed programming contest that was held about two months ago, using JFORTH on the Amiga In fact, they were the ONLY two to complete the assigned task in the alloted time, not just the first to finish. They finished the very complex task, which entailed interfacing to an obscure hardware character-generating gizmo, in approximately 90 minutes. Time alloted was two hours. It is safe to say they got "something working quickly." I have problems with FORTH in large applications, but it is definitely an excellent language for quick implementation, and is definitely not just a "joke." Phil Stone (phil@eos.arc.nasa.gov | ames!eos!phil)
doug@xdos.UUCP (Doug Merritt) (07/06/89)
In article <19053@louie.udel.EDU> pfaff@gemini.asd.contel.com (Ray Pfaff - Oakwood 457 934-8162) writes: >Doug Merrit writes: >>When a company uses Forth to write software, it means only one thing: they >>want it finished by tomorrow. This is typical of defense contractors, who >>have to have their bid beating that deadline... That should've been "Merritt", if I'd written that, which I didn't. It was a *response* to my comment about Sun using Forth for boot code. >You must mean done, not working. Forth isn't a language to be used to get >something working quickly. >I`ve worked in defense contracting for 10 years and I`ve never heard of Forth >being used as anything except a joke. Oh, great, another language flame. Ok, in that spirit: I guess you missed the fact that the "Fastest Programmer in the World" contest was won by two (Amiga JForth) Forth programmers? I don't use Forth at all myself, but I think it has its own merits. Disadvantages, too, but what doesn't? And since you like to start flames by calling some people's (not mine) favorite language a joke, let me point out that you're throwing rocks while living in a glass house. More specifically, everybody knows that defense contractors (A) are constitutionally incapable of being at all productive, and hence wouldn't know anything about "getting something working quickly", and (B) defense contracting firms only hire people who aren't talented enough to get work for a Real Company that pays Real Wages. Oh, my, he's turned an incredible shade of purple. Hey, just kidding! Don't throw rocks at me, some of my best friends work for...Ouch! Quit that! Just kidding! I thought that this little bit of sharp "humor" was called for, given your posting, but if you're still mad, please flame me via *email* so that we don't clutter the net with needless flames. Doug -- Doug Merritt {pyramid,apple}!xdos!doug Member, Crusaders for a Better Tomorrow Professional Wildeyed Visionary
pfaff@gemini.asd.contel.com (Ray Pfaff - Oakwood 457 934-8162) (07/07/89)
Phil Stone writes: >I have problems with FORTH in large applications, but it is definitely >an excellent language for quick implementation, and is definitely not >just a "joke." Actually I have used Forth before and I like the language, but as you pointed out it isn't very useful for a large project which involves many people working in a parallel effort, not to mention that it fosters bottom-up programming and hacking to the extreme (probably the reasons why I like it). I stand by my statement about it being a joke in the Govern- ment contracting arena, because I`ve often hear the following lines when discussing a project: person A: The Government wants us to change our real-time exec and C soft- ware to run in a Unix and Ada environment (...followed by a description of the most horrendous other conditions to be met...) person B: Oh great! Why don't we write it in Forth instead ! (laughter from both parties) Maybe I should be a little more specific; I don't think Forth the language is a joke, but it certainly has been used as the punchline for quite a few.
MROBINSON@wash-vax.bbn.com (07/08/89)
[Valentin comments that use of Forth indicates a desire to complete a task yesterday] This just caught my interest. I used Forth for some graphics back when I had a summer job at Goddard Space Flight Center. They weren't on a time crunch, but were interested in modularity and being able to work at a low level and a high level at the same time. Plus, I hear most astrophysicists like Forth for some reason. The language that made it quickest for me to get complicated things done quickly was Quintus Prolog (a damn fine implementation, guys!). The nice thing about Prolog is that IF you are of a logical turn of mind, AND you can find a coherent model for the optimal algorithm for your problem, Prolog allows you to express that model in a short program (and I mean SHORT!) that works in the general case, and (at least with Quintus, I know other implementations of which I would not say this) very efficiently. The drawback to Prolog is that one really can't use it very well for interacting with the operating system; I always used their C language interface to do sockets and the like. --Max mrobinson@wash-vax.bbn.com
doug@xdos.UUCP (Doug Merritt) (07/08/89)
In article <19248@louie.udel.EDU> MROBINSON@wash-vax.bbn.com writes: > > Plus, I hear most astrophysicists like Forth for some reason. Forth was originally invented as a low level control language for (something like) telescope tracking control hardware at an observatory. >The language that made it quickest for me to get complicated things done >quickly was Quintus Prolog (a damn fine implementation, guys!). The nice >thing about Prolog is that IF you are of a logical turn of mind, AND you can >find a coherent model for the optimal algorithm for your problem, Prolog allows >you to express that model in a short program (and I mean SHORT!) that works in Yes. Case in point: a friend of mine, Paul Baclaski (who also happens to be an Amiga enthusiast) was working on an integrated incremental compiler/editor environment. The goal was to have the editor notice changes made to the program, and pass info about them to the compiler, which would know about interdependencies in the program, note which ones were affected by the changes, and recompile the smallest possible subset of the program. I.e. if you changed the type of a variable X from short to long, it would recompile only those parts of the program that used X. (It used a novel output file format which allowed compilation of units smaller than a function.) He prototyped the hard part that had to refigure interdependencies in Prolog. It took something like twenty lines of Prolog to specify the logic of the interdependences and when something should be recompiled. Fiddling with this Prolog prototype allowed him to find bugs in his design, fix them, and produce a flawless algorithm in something like one day. Lacking a C/Prolog interface, he then recoded this module in C, which required several hundred lines compared with the original 20 lines. He estimated that it saved him several weeks of development (tricky code that would have required several complete rewrites of this multihundred line module per experiment), even though he had to rewrite it in C once it was debugged. BTW it worked correctly on the first try once recoded in C. > The drawback to Prolog is that >one really can't use it very well for interacting with the operating system; >I always used their C language interface to do sockets and the like. Yep. Every language has its drawback, and it makes more sense to simply switch to C when appropriate than to try and add systems programming features to Prolog. Doug -- Doug Merritt {pyramid,apple}!xdos!doug Member, Crusaders for a Better Tomorrow Professional Wildeyed Visionary
new@udel.EDU (Darren New) (07/11/89)
In article <426@xdos.UUCP> doug@xdos.UUCP (Doug Merritt) writes: >Forth was originally invented as a low level control language for >(something like) telescope tracking control hardware at an observatory. I heard that it was originally invented for a stand-alone hardware and/or software debugger box and then later was recognised as being a nice embedded system language. -- Darren
trolfs@vax1.tcd.ie (Tommy) (07/14/89)
In article <19135@louie.udel.EDU>, pfaff@gemini.asd.contel.com (Ray Pfaff - Oakwood 457 934-8162) writes: > Actually I have used Forth before and I like the language, but as you > pointed out it isn't very useful for a large project which involves many > people working in a parallel effort, not to mention that it fosters > bottom-up programming and hacking to the extreme (probably the reasons > why I like it). I stand by my statement about it being a joke in the Govern- > ment contracting arena, because I`ve often hear the following lines when > discussing a project: > [stuff deleted] > Maybe I should be a little more specific; I don't think Forth the language is > a joke, but it certainly has been used as the punchline for quite a few. I think one of the main problems with Forth (I admit that there are a few :-), or rather not with Forth itself but with people who use Forth, is that they try to use it like a conventional high level language. Forth is very different from other languages and as such it requires that the programer adopt a new approach. For one thing Forth is not a language, but rather a meta-language. This difference is very important if you want to use Forth seriously. If anybody is interested, there is a very good book by Leo Brodie called "Thinking Forth" which is a good read that doesn't require you to know Forth to benefit from it and will dispel any notions that Forth is in any way less than other languages. The reason for this article is due to a statement, by someone in this thread, that Forth is not very good for large applications involving a lot of people. I cannot speak from experience, so what I have to say is solely from my understanding of Forth, but I feel that Forth (done properly) is a very good language for large projects. As I have said before, Forth is a meta-language which means that you write WORDS(*) to describe the problem and then use these WORDS to solve it. This allows you to describe the problem in terms which are 1) easy to understand and 2) easy to work with. In a situation where there are a lot of people working together, this ability of Forth (which is really its power) makes it easier for ideas to be put down in code and also easier understood by others. C code looks like C code (and not very nice at that). Forth code looks like a million bucks and reads like poetry (Ok, so I'm exaggerating :-). Forth programing is like object oriented programing. In OOP, you have to put a bit of thought into your classes if they are to be useful. In Forth, you have to put in some work on the WORDS which you will use to describe the problem at hand. If you do this, then the problem becomes much easier to handle. This means you should be able to tackle ANY size job with equal confidence. To conclude, I feel Forth is a very good language for large projects, but only if used properly (There's always a catch). This (the posting) is really just so I could preach a bit of Forth to the masses. Jesus wasn't kidding when he said "Go Forth, and spread the word" (Ok. It's bad, I know). Anyway, hopefully there will be a growing number of Amiga user's doing Forth. Don't be put off by dumb smucks telling you Forth is a joke. : TELL-ME-A-JOKE ." What do you think you'er reading :-)" DUMB-SMUCK ; : DUMB-SMUCK ( s are always saying ) TELL-ME-A-JOKE ; If you are thinking of learning Forth, I suggest you get Leo Brodie's book "Starting Forth" and read it while you have Forth running. There is a Forth on one of the early Fish Disks. It's called MVP-Forth (Mountain View Press, I think). I haven't been able to use it so I can't tell you what it's like (I only got my Amy a week ago). Maybe someone else can post a review of it and what disk it is on. If you do decide to try Forth, hang in there. It takes quite a while to really get to terms with it. Good luck! WORDS(*): Word used in this context means a word in the Forth sense. For people who don't know Forth at all, a word is much the same as a function in C. Afterword: This article is NOT a flame of Ray's posting. I do not think that Ray is a DUMB-SMUCK (just incase it reads that way). As he himself says, other people (I think defence contractors was mentioned somewhere:-) call Forth a joke and it's to them that I direct my rebuke. Still, I don't agree about Forth not being useful for large applications. Then again, what do I know? -- Tommy IV E-mail: trolfs@vax1.tcd.ie // Amiga 500. $P-) \\// What's your's called? -----------------\X------------------------------------------------------ "A dirty mind is a joy forever." -- Randy Kunkee
trolfs@vax1.tcd.ie (Tommy) (07/15/89)
> > : TELL-ME-A-JOKE ." What do you think you'er reading :-)" > DUMB-SMUCK ; > > : DUMB-SMUCK ( s are always saying ) TELL-ME-A-JOKE ; Did I say SMUCK? I think it's meant to be SHMUCK. Ah well, Forth is all about making up new words. :-( (I think I'll go and dip my head in a bucket of water now Tramp,tramp,tramp,rattle,slosh,slosh,ssssSSSSTEEEAMMM....) -- Tommy IV