home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / lang / forth / 2978 < prev    next >
Encoding:
Internet Message Format  |  1992-08-18  |  5.8 KB

  1. Path: sparky!uunet!munnari.oz.au!samsung!transfer!sw.stratus.com!nick
  2. From: nick@sw.stratus.com (Nicolas Tamburri)
  3. Newsgroups: comp.lang.forth
  4. Subject: Re: "Free" Forth is expensive
  5. Message-ID: <5657@transfer.stratus.com>
  6. Date: 18 Aug 92 22:35:22 GMT
  7. References: <9208051453.AA09858@im8> <Bsn6x4.7MC@starnine.com> <5510@transfer.stratus.com> <Bt5s2n.AB5@starnine.com>
  8. Sender: usenet@transfer.stratus.com
  9. Organization: Stratus Computer, Inc.
  10. Lines: 103
  11.  
  12. mikeh@starnine.com (Mike Haas) writes:
  13. > ... what machine
  14. > DOESN'T run forth of some kind?  Actually, the question becomes,
  15. > what machine CAN'T forth run on?
  16.  
  17. The question is not whether it can run it, but whether it runs it well.
  18. For example: Stratus architectures, (admitedly not mainstream, does have a
  19. Forth that runs on it,  but it doesn't run very well because Stratus
  20. uses a Harvard based architecture which forbids the mixing of data and
  21. program instructions.  This largely limits the theading to indirect
  22. methods.  If I wanted my application to run fast, I'd probably not choose
  23. Forth for Stratus.  The first Forth (er, TIL) I wrote was for a DEC PDP-10, whose
  24. 36-bit word architecture did not lend itself to character operations very
  25. easily, (although for most other opeations it worked just fine.)
  26.  
  27. So, agreed, anything will run Forth;  IMO not everything will run it well.
  28. Another example:  I know that JForth, (or any other Forth for that matter,)
  29. does not do structures as well as C.  If the system required lots of
  30. to access C structure fields constantly, and the Forths available required
  31. I do handstands to access those fields, then I probably would not choose
  32. Forth on that system.
  33.  
  34. > >But its limitations, rather than turning me off, then led me to seek
  35. > >better alternatives;  in this case JForth.
  36. > I think you are indirectly making my point.  Forthers will search for
  37. > a better alternative because the KNOW it's out there...they "have the
  38. > faith".  But newcomers, if their initial exposure is so minimal,
  39. > will do the opposite (IMHO).
  40. >
  41. > >but I
  42. > >was also trying to get into C, and let's face it,  the Amiga is geared
  43. > >toward C.  C looked just as tempting as Forth, it was MVP-FORTH which
  44. > >made me realize that Forth was viable on it.
  45. > But MVP sure ain't gonna convince a C person to try JForth...or a Pascal
  46. > person, or Modula-2, or...  (maybe BASIC :-)
  47. >
  48.  
  49. Clearly there is no way to prove either opinion here, and we may just be splitting
  50. hairs, but I see it this way:  New person at a PC gets a minimal PD Forth.
  51. After some experimenting, and liking the interactive nature of it, he
  52. outgrows and finds it limiting because it can't access the file system,
  53. is limited to 64K, etc.  The Forth gets backed up to the floppy and put away.
  54.  
  55. Still, the user needs a language.  He starts looking at ads, or catalogues,
  56. or (God-forbid) start browsing the local software store's language section.
  57. He's now confronted with 2 languagge packages, both of which promise lots
  58. of libraries and facilities.  One is Forth the other C.  He rembers liking the
  59. interactive nature of Forth, and decides to check it out.
  60.  
  61. I don't think this scenario is all that far-fetched.  Something like it
  62. happened to me. I don't I could be the only one.
  63.  
  64. > >... it would be nice if vendors started moving in that directions instead
  65. > >of providing everything but the kitchen sink in one platform dependent
  66. > >environment.
  67. > Seriously, I wanted to provide an extremely comprehensive Amiga
  68. > development system...something that would make those C fellows
  69. > take notice of Forth.  And they have, it seems to be pretty-well
  70. > respected in Amiga programming circles.  That can't be bad.
  71.  
  72. Not bad at all, and I didn't mean to imply it was.  I'm just trying to
  73. provide a different point of view to consider:  Assume I am trying to
  74. write the world's greatest game.  What platform do you think I'm going to
  75. write it for if I want to sell lots of copies (hint: everybody hates it,
  76. but everybody either sells it or buys it.)
  77.  
  78. Now, assume I have an Amiga at home because I prefer good hardware to
  79. software availability.  I would be very hesitant to use many of the
  80. things which make JForth good because I know they are not portable to
  81. the PC, or Mac or Atari ST or just about anything else.  I'm not talking
  82. about screen library routines.  I know I'm going to have to write
  83. platform specific versions of those.  I'm talking about structure
  84. access routines, ODE, Amiga specific multi-tasking tricks.
  85. Things that are an inherent part of JForth and no other Forth.  In other
  86. words, the things you've put into JForth which make it an excellent
  87. prototyping and development package on the Amiga are a drawback for
  88. someone like me, who cares about portability.
  89.  
  90. This same problem affects F-PC, and Yerk/Mops.  Both excellent packages
  91. in their own right, but my mind reels when I type WORDS, and the list goes on
  92. forever.   Where do you begin understanding a system like that?  Imagine
  93. what it looks like to the novice.
  94.  
  95. One saving grace for most Forths, JForth included as I recall, is that
  96. I can pick and choose what I want to load.  The drawback is that if I
  97. choose to load any one package it usually loads lots of others.  Unfortunately,
  98. either because nobody likes using VOCABULARY or because FORTH83 uses a
  99. braindead scheme (IMHO), the main vocabulary keeps growing until you may
  100. as well just load everything to begin with.
  101.  
  102. Let me summarize, so I can go home:  For me, (and maybe only me,)  portability
  103. and a good development environment are the most important things in any Forth
  104. package I look at.  I appreciate libraries as well, but only in so far as they
  105. can be made portable between platforms.  Clearly we are at the point now where it
  106. should be possible to come up with library routines which provide similar
  107. functionality between the Mac, Intuition, Windows, Gem and maybe X.
  108. Or maybe I'm just naive.  I do know that Forthmacs uses the same manual for
  109. the Mac and the Atari ST.  That's a start.
  110.  
  111.                             /nt
  112.