Subject: Re: Is LISP dying?
From: Erik Naggum <erik@naggum.no>
Date: 1999/07/18
Newsgroups: comp.lang.lisp
Message-ID: <3141318384125594@naggum.no>

* gneuner@dyn.com (George Neuner)
| The reason C/C++, and before that Pascal, took off was because forward
| looking companies [I'm thinking of Borland in particular, but others were
| also involved] took chances and sold their systems at well below cost
| hoping to create their markets.  It is true that these systems were
| typically stripped down relative to "professional" development systems
| available, but they introduced people to the language at affordable cost
| and built a base of programmers familiar with both the language in
| general and the company's products in particular.

  the same has been done in the marketing and production of wines.  those
  who sell dirt cheap wine continue to thrive, and we see the same effect
  as we do in programming languages: large masses of people get intoxicated
  and dependent and contine to devour cheap wine, while a few people get
  seriously interested in great wines and easily spend 100 times more money
  on a bottle of a great wine than regular consumers do.  yet, for some
  bizarre reason, expensive wines make a respected market, nobody in their
  right mind wants them to be free, and it is not considered a good thing
  to turn people into alcoholics just to be able to sell more cheap wine.

| Curious newcomers who lack the ability to set up a shareware/freeware
| system may be willing to try a low cost commercial system which is easy
| to install and use.  Commercial Lisp implementors, for the most part,
| either didn't offer low cost intro packages or didn't advertise that they
| did.  Out of sight, out of mind.

  right.  the commercial Lisp vendors offer anyone who ask a reasonable
  question a simple and easy way to try their software, completely for
  free, and free or extremely low-cost systems somehow is not enough to
  make people interested in serious Common Lisp implementations, in some
  people's minds.  so obviously your analogy doesn't hold at all.

  I started with CMUCL myself, but found that Allegro CL offered so much
  more that the work I would need to put into CMUCL would make it all but
  impossible to do well-paid work in Common Lisp in CMUCL: after pretty
  serious exposure to C++, I had come to conclude that I needed to get
  myself into a position where I would never ever have to write any C++
  again, so I set out on a path that removed me almost completely from the
  mainstream, and if I were to recover the cost of that, only commercial
  Lisps supported by someone other than myself could work for me.  (I would
  like a commercial Emacs, too, for exactly the same reasons.  perhaps I'm
  just getting old.)

  I'd argue that what has kept Common Lisp from wide-spread success is its
  free implementations -- not only are the implementations that students
  normally see low quality as development environments go, all the crappy
  Schemes out there that try really hard to call themselves "Lisp" destroy
  the name recognition of Lisp completely (why can't they just stick to
  calling their toys "Scheme"?), and any student who didn't question his
  professors and peers would have to conclude that Lisp is a bad joke.

  the reason C succeeded is that Unix succeeded, and Unix succeeded because
  of the coolness factor among early 70's computer science students, and
  that was a coolness factor unrelated to overall technical merits, but
  very much related to _some_ brilliant ideas.  DOS succeeded because it
  was so broken that any 14-year-old idiot could fix it and brag about it
  to his peers, causing kids everywhere to "get involved".  C++ is riding
  on the DOS wave that Windows rode in on, too -- most Microsoft victims
  have _always_ used Microsoft products.  Pascal succeded because it was
  the language of choice on the Apple, which was also "cool", and Macintosh
  fans don't wander off the narrow path, either.  there was a market for
  these languages completely unrelated to the languages themselves, but
  these are consumer languages.  winning is being stronger than your
  competition, but as with any relation, becoming "stronger than" either
  means you get stronger or you find a competition you are already stronger
  than.  Lisp is stronger than any competition in lots of places.  it is
  not stronger than languages optimized for dummies who, inexplicably,
  believe that they can learn them in 21 days.  it is, however, much
  stronger than professional C/C++.

  now, if you think C/C++ is cheap in the professional market, that using
  professional class libraries is as easy as bragging to some manager that
  you know C++, and that you can be unskilled in all C++ jobs, you are way
  out of your mind.  there is a professional market for C++ work that costs
  much more than Common Lisp systems cost, but because this market does as
  little advertising as Common Lisp does, you never see it, either.  and
  when you hear that a project has moved from Common Lisp to C++, it is
  _not_ moved from Allegro CL to MSVC++ with MFC -- they move to a language
  that most C++ programmers wouldn't even know how to begin to understand,
  using stuff from the language that _actually_ supports large-scale work,
  not the silly stuff that C++ is sold on at the consumer level.  this
  usage of C++ is much harder than doing the same kind of thing in Common
  Lisp, as most managers find out as soon as they have made the stupid
  decision to use C++, only they don't know how to undo their bad decision,
  so they continue down the very expensive road, probably adding a lot of
  manpower in the process.  (the opportunity for most project managers to
  learn from their mistakes is severely limited: they get fired and spend a
  lot of time looking for new work.  because of this, languages with large
  "people bases" are preferred over what will more likely succeed, because
  managers are people people and most of them are insufficiently technical
  to assess risks even if they might be risk takers to begin with.)

  Lisp's perception in the market has also been rocked by some spectacular
  cases of bad company.  when Lucid folded on its C++ project, its Common
  Lisp had been a cash cow for a long time, and it continued to produce
  money enough that it was worth salvaging -- I never heard more about the
  C++ effort.  of course, Lucid was best known for its Common Lisp, so
  those who already didn't like Lisp got an easy opportunity to knock Lisp
  again.  when Harlequin was in danger of folding recently, it was wholly
  unrelated to its Lisp business, which appears healthy but out of vogue
  with venture capitalists and investors, but their problems has already
  caused people to become scared about Lisp's future.

  I think it works like this: if you're clearly better than the rest, you
  get credit when you win, and you get blamed if you lose.  ("if you are so
  good, how come you don't make a lot of money?" is a typical instance of
  this sorry situation, as if certain things are inevitably connected.)  if
  you are no better than the rest, you can take credit if you win, but you
  don't get blamed if you lose.  if you are worse than the rest, whoever
  chooses you and wins did something spectacular, but if you fail, they
  were just dumb who chose a loser.  I think it works this way in many
  aspects of life, and I think it does so because most people don't
  actually _like_ winners unless they are certain they'll never be beaten
  by them themselves.  I think that's why watching sports is so popular,
  too.  in my view, fad languages that get all the attention are just like
  the sports dudes who are very much _temporary_ winners in their fields,
  earning a lot of money so they can retire to oblivion after a few years
  of fame.  the only way you can actually _win_ is to stay completely away
  from the mass audiences and above all not depend on popular votes for
  popularity, not beat the crap out of anyone in a competition (because
  those that happened to will be certain to try to beat the crap out of
  you, too), and not even get into fields where the short-term profits are
  enormous, because that only means a lot of people lose a lot of money and
  want to recover it, trying again and again.

  I'm not sure I'm helping, but I'm willing to say that a project I have
  worked on succeeded because of Common Lisp, mostly because I'm sure it
  won't fail for any other reason.  I'd be damned cautious to mention a
  Common Lisp project that succeeded technically, but was in danger of
  failing for any other reason, however, simply because there are so many
  stupid people out there who wouldn't know what this meant.

  what makes a success is not, has never been, and will never be that the
  entry to it is free.  what makes it a success is that people stick with
  it.  if you can't make people stick with something unless they get the
  first dose for free, I'd say you have something that people really
  shouldn't stick with at all.  I think people start using stuff because
  they hear about it, and it really doesn't matter to a lot of people that
  it may cost money.  after all, most people pay for their cars and won't
  give them up no matter what environmentalists and politicians do to stop
  them, and don't tell me it's because they got free rides as kids.  in my
  view, access to source code is only a question of education -- it can
  never be a question of market penetration.  Linux did _not_ win because
  it is free, but because people wanted an alternative to Microsoft on the
  dirt-cheap computers they could get their hands on.  and if you look at
  all the incredibly crappy software that people actually pay good money
  for, being free is _obviously_ not necessary for success.  nor is being
  free sufficient, since lots of free software fails, too.

  so why the clamoring about stuff being free?  and why do I keep hearing
  "you have a duty to provide me with the tools I need to make a living"
  from so many of the free software proponents?  this can only mean that
  there are way more people who _believe_ they will never ever write any
  software that others will want to use, and I'm sure they're right,
  because anyone who argues that others should give him everything must of
  necessity be open to similar requests to himself.  Free Software has
  _never_ been about any duty to provide anyone with anything at no cost.
  it's all about making it possible to learn from the experiences of others
  -- it's an education thing, not some anti-commercial crap.  I, too, want
  programmers to be able to share in the experiences of the entire trade,
  much as medical doctors are expected to share their findings and their
  methods, but I can't for the life of me understand why that means you
  want the right to _refuse_ to pay for software.  something got seriously
  wacked in the communication.

#:Erik
-- 
@1999-07-22T00:37:33Z -- pi billion seconds since the turn of the century