Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wasatch!cs.utexas.edu!uunet!mcvax!ukc!tcdcs!vax1!trolfs From: trolfs@vax1.tcd.ie (Tommy) Newsgroups: comp.sys.amiga Subject: Re: YALW (Yet Another Language War) Message-ID: <858@vax1.tcd.ie> Date: 14 Jul 89 13:30:36 GMT References: <19135@louie.udel.EDU> Organization: Computer Laboratory, Trinity College Dublin Lines: 90 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