Path: utzoo!utgpu!attcan!uunet!peregrine!elroy!ames!mailrus!cornell!batcomputer!olson From: olson@batcomputer.tn.cornell.edu (olson) Newsgroups: comp.lang.forth Subject: Re: Forth "Pre-Compiler" Message-ID: <5703@batcomputer.tn.cornell.edu> Date: 30 Jul 88 23:41:11 GMT References: <8807221513.AA05347@jade.berkeley.edu> <3d7612e1.13370@dow4.engin.umich.edu> <1533@crete.cs.glasgow.ac.uk> Reply-To: olson@tcgould.tn.cornell.edu (olson) Organization: Cornell Theory Center, Cornell University, Ithaca NY Lines: 117 I was going to let this slide, but given the tone of this posting and the next posting (about the Novix chip) by Mr Orr ... Mr Orr, Don't you think you are being just a little too viscous? Disagreement is wonderful, but only if all participants refrain from attacking each other. (Another "wonderful" "American" discovery) In article <1533@crete.cs.glasgow.ac.uk> orr@cs.glasgow.ac.uk (Fraser Orr) writes: >In article <3d7612e1.13370@dow4.engin.umich.edu> stejk@caen.engin.umich.edu (Steven J Kassarjian) writes: >> The key though, is the rapid prototyping, I believe. Through rapid >>prototyping, information hiding (data and algorithm), several algorithms may >>be tested, and the best one determined _empirically_. Traditional > ^^^^^^^^^^^^^ >Theoretical computing science bites the dust! >Are you serious? If I decide to write some sorting algorithims and >determine empirically which is the best, and my test data just happens >to be an ordered list a reverse ordered list and a fairly random list >(which doesn't seem to me to be a totaly ridiculous set of test data, >certainly one I might in ignorance choose), I would discover that quicksort >was generally fairly rotten, that bubblesort was excelent a third of the time >and that selection sort was also pretty good. >It is my humble opinion that regardless of how good your language is >for _fast_prototyping_ (falls about in fits of laughter), it is usually >adviasiable to THINK before you code! This is always good advice. But my experience suggests that before you can think you have to have some experience. If you knew nothing about sorting how do you know what to think about? My approach would be to try anything... with the understanding that it will probably be wrong/bad/etc and see what happens. Then maybe try something else. Then THINK. and then try some more. then THINK. etc... (though you might try thinking a bit first also ..) It is true that you might not pick a good set of test initially, but if you are truely trying to understand what is going on you won't just stop there. You will try others (and THINK) and try to test things out as fully as possible. Maybe you meant "before you write the final production version, THINK" to which I would insert, "and explore empirically'. I believe that it is more useful to use both approaches than just one or the other. Thus one might argue that the advantage to forth is that it lets you move from thinking to thinking and experimenting. How many of you have seen the adds for LightSpeed C for the Macintosh that say something like "We help you make mistakes ... faster!" (open irrational, emotional section: Does the above need "authority"? If so than I am a physicist. Why is that relevent? Because, by and large physics is the field of starting with vague ill defined naggings and producing well defined questions. And a mixture of empirical effort and THINKing both in the "experimental" and "theoretical" (and now "numerical") subfields is the formula for successful progress. It has been said to me "chances are you as a physicist will always be able to find a job in the computer world because by and large while CS majors are good at solving well possed problems (maybe better than physicist), physicists are very good at possing problems well (much better than CS major in the industrial world)" Now this may be just self back patting ... Enough .. close section) > > >If I may paraphrase, all of my preceding arguments are totally invalid >in todays world. (What "arguments"?) > >>(one class project), I started to think (and dream) in Forth. (I was under > ^^^^^^^^^^^^^^^^ >My deepest commiserations, you poor backward boy! (was there supposed to be a :-) after this?) Steve, yea, I understand, I was trying to think in forth before I was introduced to forth. Mr Orr, may I ask you to really THINK about the following question. How would you compute if the process of calling proceedures had zero overhead? You might be interested to know that Postscript is very forth like. And that Stoic is very forthlike. And that the new HP calculator that does symbolic manipulation runs on a forthlike language. And that in some sense the Unix "philosophy" is very forth like. I'm tempted to argue that Forth:C/Fortran/...:assembler :: arabic#:Roman#:hashmarks Note that the difference between Roman# and hashmarks is not all that great. >==Fraser Orr ( Dept C.S., Univ. Glasgow, Glasgow, G12 8QQ, UK) In a subsequent posting Mr Orr made, in a bitting way some observations on the Novix forth chip relative to other chips. One point, the Novix chip does what it does in of order 10,000gates other chips that it is compareable to use order 100,000gates (i think these # are correct) Certainly food for thought. Other tid bits, Harris has come out with a "SemiCustom MicroControler" that has at is core the Novis chip design (licenced from Novix) For those of you that may have noticed that the Novix chip is still one design cycle away from being well done, the Harris chip is well done. The chip (called RTX) is SemiCustom in that it uses so little space on the silicon that if you want to add features, or change the on chip stack size or other customizations, you can, and Harris is actively encouraging people to do so. (Sort of roll your own chip with their help) Actually the Harris RTX is a really neat microprocessor, and they are really supporting it. Now if only I had some extra money ... (Sorry people, but one posting I was willing to let slide but not two in the same tone. Hope this doesn't start flame wars) Todd Olson olson@helios.tn.cornell.edu Physics Dept/Clark Hall/Cornell Univ./Ithaca Ny 14853