home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / lang / forth / 2839 < prev    next >
Encoding:
Internet Message Format  |  1992-07-22  |  5.3 KB

  1. Path: sparky!uunet!crdgw1!rdsunx.crd.ge.com!ukulele!eaker
  2. From: eaker@ukulele.crd.ge.com (Chuck Eaker)
  3. Newsgroups: comp.lang.forth
  4. Subject: Re: Down with free Forth systems.
  5. Message-ID: <1992Jul22.233956.27151@crd.ge.com>
  6. Date: 22 Jul 92 23:39:56 GMT
  7. References: <1992Jul15.115912.9846@Informatik.TU-Muenchen.DE> <l6lr0pINNsvk@appserv.Eng.Sun.COM> <1992Jul22.104843.9317@Informatik.TU-Muenchen.DE>
  8. Sender: eaker@ukulele (Charles E Eaker)
  9. Reply-To: eaker@ukulele.crd.ge.com
  10. Organization: GE CR&D Computer Science Program
  11. Lines: 90
  12. Nntp-Posting-Host: ukulele.crd.ge.com
  13.  
  14. I think it is worthwhile to distinguish between systems that are free
  15. (or inexpensive) and systems that are professionally developed.
  16. C and Pascal were both of these. A large number of Forth systems are
  17. neither and I know of no other language for which popular implementations
  18. are free and were developed by people who were paid nothing to do it.
  19.  
  20. Both C and Pascal were both developed by teams of professionals whose
  21. jobs were to create such things. The circumstances of their development
  22. were such that both were widely distributed to academic institutions at
  23. very low cost. This was a unique window of opportunity which I doubt
  24. will ever be open again.
  25.  
  26. For the C compilers, support, of sorts, existed from the very beginning.
  27. This was rarely true for Pascal. I recall teaching with a Pascal
  28. compiler running on a Burroughs 6800 (for which there was no documented
  29. assembly language - Burroughs used Algol for their systems work) which
  30. had wandered to our campus from God only knows where and, along the way
  31. had picked up numerous idiosyncracies and exasperating bugs. This
  32. experience led many of us to develop very bad attitudes about free
  33. software: it was free to get in, but you paid the price over and over
  34. in lost productivity.
  35.  
  36. The answer, it seemed, was to be found in using software that was so
  37. open that we could maintain it ourselves, or getting rich and paying
  38. someone whose reputation and nourishment depending on our being
  39. happy with a programming environment.  So, some of us, not being rich,
  40. tried Forth, but we discovered a basic principle: the more time you spend
  41. maintaining your tools, the less time you have to actually use them.
  42.  
  43. The moral of all of this is that I believe the following:
  44. Every "successful" language was professionally developed
  45. and is commercially supported. Furthermore, the commercial
  46. support comes from at least one big player who is going to be maintaining
  47. the language and holding hands over the long haul.
  48. (By "successful", I mean something which is used by lots of people,
  49. a high percentage of which are trying to learn something or make money.)
  50.  
  51. Consequently, free Forth systems will (still) go nowhere. But, there
  52. is no commercial enterprise in the Forth arena big enough to generate 
  53. much momentum, so I don't think non-free Forth systems will ever
  54. serve more than a very small but very intense minority of users.
  55.  
  56. Unless....
  57.  
  58. Try this. Develop Forth++ which will operate in a Unix environment.
  59. Define Forth++ words which take the name of a (preferably C++) library
  60. (such as some of the X libraries) and links the library into the Forth++
  61. environment so that a user can interactively list the classes, functions,
  62. etc. provided by the library, create instances, execute methods, and
  63. generally perform reckless experiments quickly and cheaply in the manner
  64. that, for me, is the essence of Forth.
  65.  
  66. C++ will be around for a long time. Many companies have huge investments
  67. in infrastructure that enrich the C++ environment in ways that
  68. dramatically increase productivity. None of GE's software intensive
  69. components would use anything other than a language such as C++ that
  70. does early binding to generate production code. But that requirement
  71. means that, at present, we are trapped in the compile, link, load,
  72. run, swear, edit, compile, ... cycle, and the cycle is verrrrrrrrrrrry
  73. long.
  74.  
  75. Off the shelf class libraries provide incredible leverage, but they
  76. are stupifyingly complex and the documentation is enormous but still
  77. incomplete. It takes forevvvvvvvvvvver, to create and run a little
  78. program that will give you an answer to how this little widget
  79. behaves when you do this weird thing with it that isn't mentioned
  80. anywhere in the documentation. If I had Forth++ running in another
  81. window, I could significantly increase my productivity.
  82.  
  83. Devise a Forth++ vocabulary and syntax that I could use for interactive
  84. development and a tool that will translate Forth++ to C++ which
  85. I can then compile and link the object file into Forth++ so that I
  86. can continue development then translate ...
  87.  
  88. In my opinion the proposed standard has more than captured the essence
  89. of Forth. What Forth needs is a way to capture other standards.
  90. There are lots of common, well known, libraries out there that
  91. tens of thousands of professionals are familiar with. They are
  92. using them to leverage themselves into positions of power from
  93. which they can develop sophisticated software quickly and 
  94. cheaply. Forth can never hope to match this achievement on its own.
  95.  
  96. Beat your standards warfare swords into plowshares and figure out
  97. how to use them to break new ground by giving Forth the ability
  98. to swallow whole the work of others and make it available in the
  99. interactive way that we all know and love.
  100.  
  101. -- 
  102. Chuck Eaker / P.O. Box 8, K-1 3C12 / Schenectady, NY 12301 USA
  103. eaker@ukulele.crd.ge.com                        (518) 387-5964
  104.