Newsgroups: comp.lang.forth Path: utzoo!utgpu!cunews!csi.uottawa.ca!news From: cbbrowne@csi.uottawa.ca (Christopher Browne (055908)) Subject: Re: Forth in CS Message-ID: <1991Mar6.222013.19678@csi.uottawa.ca> Sender: news@csi.uottawa.ca Nntp-Posting-Host: prgw Organization: CSI Dept., University of Ottawa References: <1991Mar4.050505.27571@csi.uottawa.ca> <1991Mar4.143704.13146@cbnewse.att.com> <13693@medusa.cs.purdue.edu> Distribution: na Date: Wed, 6 Mar 91 22:20:13 GMT In article <13693@medusa.cs.purdue.edu> bouma@cs.purdue.EDU (William J. Bouma) writes: > > This a reply to Clyde Phillips reply to Chris Browne. It is > mainly an attempt to get him to clarify a number of cryptic > remarks he made in that post. Minor question: Which "him" is to clarify? I think you mean Clyde... I'll try do some clarification anyways... >In article <1991Mar4.143704.13146@cbnewse.att.com> cwpjr@cbnewse.att.com >(clyde.w.jr.phillips) writes: >>Are CS people only interested in "language Design"? No wonder they don't >>respect FORTH, it says they have no clothes... > > Basically, "CS people" are interested in Computer Science. Language > Design is ONE are of interest for what should be obvious reasons. I > am surprised that you would think it the ONLY area as several others > are listed below in plain sight. Hey, if we're talking about the way Forth is put together, then that's certainly "Language Design." The BEAUTY of Forth is that you are always in the process of redesigning the language (i.e. - the language of the application - not usually the ENTIRE Forth language). The people reading this group are CERTAINLY interested in this area. And it's worth contrasting Forth Language Design with the classical CS forms of language design. >Browne> Computing theory is not happy with languages that are not constant >> >>Is this the heart of CS? It's perhaps not the MOST important part of CS (I'm not sure what IS the most important area of CS), but it's certainly at the heart of computing theory. You've got to have some way of communicating to the computer just what you want it to do. That's language, and language is undoubtedly of great importance. >Browne> Forth will be interesting to people into architecture design - > > This was the only place I found disagreement with Browne's post. > I am not convinced Forth has anything new to contribute in this > area. If so, what exactly? Well, there's certainly been some work lately on Forth chips. It looks like they may actually be good for things other than "merely" running Forth. (The REST of the world wants to run things like C, Fortran, Pascal, and minor mods to the Forth chips make 'em good for these other languages.) People have used Forth ideas to make the processors faster. I think that qualifies as "architecture design." >Browne> What "new" control structures have been created in Forth? I'm not sure >Browne> Forth has introduced ANY new control structures... >> >>But youre point was we don't abide by CS. If we use every existing control >>structure you guys have why would we need new ones just to distinguish >>ourselves? "us guys"? That seems a little mean... The point was that the author I was apparently originally responding to made a statement about "control structures introduced through Forth." My point was that there don't seem to really be any uniquely introduced through Forth. > What? The "point" has always been to find a reason why Forth would > be of any interest to CS. Browne is simply stating it has done > nothing new in this particular area, thus we can dismiss it (area) as > a possibility. Exactly. > Who is this "we"? Am I included? Is Browne? > One of the problems here is you are reading Browne as though > he is not included in the "we". I too wonder who "us" and "you/them" are supposed to be... >>I guess I should have looked at your bottom line... > > I think the problem is you are looking only at single lines and not > thinking about the large picture. Browne is just telling you how > CS probably sees Forth. Don't take it out on him, it isn't his > fault. You think it's wrong, tell us why, we don't read minds. I guess I'm a criminal because I've been studying CS over the years... The point of the article was to supply SOME picture on how "real CS" people see (or more likely, don't see) Forth. I've spent enough years around such people/places that I have SOME insight on the issue. I don't particularly want to give offense, or start a flame war, but I don't appreciate being blasted for HAVING some CS education. To the Forth world, spending time doing CS seems to be a black mark. I think that not all of CS has value, but that some of it DOES. Forthers try to look at things very pragmatically - that's where the language came from. Forth started as a hack to control telescopes, and then grew. Compared to Forth, Fortran started as a language to simplify programming scientific computations. The reasons FOR the computations were pretty "theoretical", but the language's design has always been pretty pragmatic. C was developed in a research laboratory to help design operating systems. There's certainly a lot of "theory" and NON-pragmatic features there. They had opportunity to say "What would we like?" as well as Forth's "What do we need MOST?" The Pascal family of languages grew up in the academic environment, and thus are "Conceptually Beautiful," at the expense sometimes of being practically useful. All of these different sources of computer languages have had SOME worthwhile insights. Some of these insights may be worth patching into Forth. One advantage to using Forth is that it is possible to patch features in in reasonably attractive ways. Originally, Forth did not have a CASE statement. It was fairly straightforward to add it for those applications that could use CASEs. That's not possible for these other languages. In the more strongly typed languages, it's almost impossible to hack in any MAJOR changes. In Forth, I can add operations that use "algebraic" notation rather than Reverse Polish. In Modula-2, it's just impossible. I feel that we should look at some of the "neat features" that get added to other languages, and see if there's a good way to put the best of them into Forth. In this way, it's certainly a GOOD THING to look at what "Computer Science" is doing. -- Christopher Browne cbbrowne@csi.uottawa.ca University of Ottawa Master of System Science Program