From ... From: Erik Naggum Subject: Re: Is LISP dying? Date: 1999/07/18 Message-ID: <3141318384125594@naggum.no> X-Deja-AN: 502480555 References: <7m8bm7$dni$1@nnrp1.deja.com> <378ca7ff.66785883@asgard> mail-copies-to: never Organization: Naggum Software; +47 8800 8879; http://www.naggum.no Newsgroups: comp.lang.lisp * 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