home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / lang / lisp / 3419 < prev    next >
Encoding:
Text File  |  1993-01-28  |  4.4 KB  |  91 lines

  1. Newsgroups: comp.lang.lisp
  2. Path: sparky!uunet!gumby!yale!mintaka.lcs.mit.edu!gateway
  3. From: SWM@stony-brook.scrc.symbolics.com (Scott McKay)
  4. Subject: Re: Lisp vs English (was Re: Why Isn't Lisp a Mainstream Language?)
  5. Message-ID: <19930128232806.9.SWM@SUMMER.SCRC.Symbolics.COM>
  6. X-Unparseable-Date: Thu
  7. Sender: news@mintaka.lcs.mit.edu
  8. Organization: LCS news/mail gateway
  9. References: <1993Jan28.210414.14069@netlabs.com>
  10. Date: Thu, 28 Jan 1993 23:27:06 GMT
  11. Lines: 78
  12.  
  13.     Date: Thu, 28 Jan 1993 16:04 EST
  14.     From: Larry Wall <lwall@netlabs.com>
  15.  
  16.     In article <19930127153328.7.SWM@SUMMER.SCRC.Symbolics.COM> SWM@stony-brook.scrc.symbolics.com (Scott McKay) writes:
  17.     : I believe that an important point that is being lost in the shuffle is
  18.     : whether or not the language is malleable enough to provide "control
  19.     : abstraction" (analogous to the way classes, structures, etc., provide
  20.     : data abstraction).  If the language cannot provide good control
  21.     : abstraction, then *it's not good enough*.
  22.  
  23.     The question is, of course, good enough for what?
  24.  
  25.     : (Of course, the lack of
  26.     : control abstraction does not render a language useless any more than the
  27.     : lack of data abstraction does -- it just makes life much more difficult
  28.     : than it needs to be, and really, isn't programming is hard enough
  29.     : already?)
  30.  
  31.     Depends on what you trade away to get your abstraction.  Abstraction
  32.     doesn't come for free.  Abstraction is most appealing to those folks
  33.     who are highly intelligent.  By definition, they're in the minority.
  34.     Ordinary people tend to avoid abstraction: "Forget that ivory tower
  35.     stuff, just get the job done."
  36.  
  37. Of course abstraction doesn't come for free.  The question is, does the
  38. investment made in abstraction pay for itself (or make a profit) down
  39. the road.  The answer for data abstraction is a pretty clear yes, and
  40. has been for over twenty years.  Most Lisp afficionados will claim that
  41. the answer is yes for "control abstraction" as well.
  42.  
  43.     People learn to love Lisp from they're instructors, fine.  I'm not
  44.     saying we shouldn't try to teach people to do abstraction.  But
  45.     let's not expect people to like doing what they don't like to do.
  46.     Castigating the Huddled Masses for huddling is a mild form of snobbery.
  47.  
  48. On the contrary, assuming that the majority of programmers are "huddled
  49. masses" is a veiled form of arrogance.  I guess I just don't know what
  50. "ordinary people" you are talking about.  Surely anyone clever and
  51. patient enough to learn C or perl can learn about abstraction, which is
  52. after all, in its most basic and useful form, just a formal name for the
  53. simple concept of naming or abbreviating a common idiom.
  54.  
  55.     : In my opinion, almost every modern programming language fails to provide
  56.     : control abstraction.  One reason Lisp manages to provide it is that the
  57.     : syntax of the language makes it easy to use Lisp as its own meta-
  58.     : language.  There are other ways to do this (e.g., add features to the
  59.     : language that allow the language to talk about its own parsed
  60.     : representation),...
  61.  
  62.     Gee, when you point out the upside of Lisp's narcissism, it's central.
  63.     When I point out the downside, you tell me I'm stuck in 1972.
  64.  
  65. You will probably not find many people who think that linguistic
  66. introspection is a form of narcissism.
  67.  
  68.     :                    ...but to the best of my knowledge, there aren't any
  69.     : languages that do this in any serious way.
  70.  
  71.     Thank goodness.  Simplify here, complexify everywhere else.  TANSTAAFL.
  72.  
  73. Again, the burden is on you to show exactly what has been complexified.
  74.  
  75.     Your turn to have the last word.
  76.  
  77. OK.  Um, here, let's try this:
  78.  
  79. As an experienced assembly-language and microcode programmer and an avid
  80. user of Teco from its PDP-10 days, I am sympathetic with your desire to
  81. play with primitive languages, because it can be fun to hack when all
  82. the odds are against you.  Unfortunately, some people just don't have
  83. time to indulge in that simple pleasure.  They need programming
  84. languages that allow them to write serious software in bounded time.
  85. They need languages that allow old programs to be re-read years later
  86. without huge effort.  I no longer have that luxury, so I mostly (but not
  87. exclusively) use Lisp.  It pleases me that some people do have the
  88. luxury of time, or never need to go back and look at their old code; let
  89. them use Teco and C++.  Or more likely they're using Cobol and Fortran
  90. only because they have to, which is a shame.
  91.