Erik Naggum's rant on Common Lisp
This is kind of a classic; I like the questions that are raised in general. While I definitely have a strong Common Lisp background, I'm not a fanatic, so I'm less concerned about the language than I am about the thoughts behind them.
Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!18.104.22.168!newsfeed.wirehub.nl!newsfeed.wxs.nl!news2.kpn.net!news.kpn.net!nslave.kpnqwest.net!nnum.kpnqwest.net!EU.net!nreader1.kpnqwest.net.POSTED!not-for-mail Newsgroups: comp.lang.lisp Subject: Re: PART TWO: winning industrial-use of lisp: Re: Norvig's latest paper on Lisp References: <EEFC5F7E5C296C74.6CBC7F3BF9134BBF.64D9900DF46C55B5@lp.airnews.net> <firstname.lastname@example.org> <email@example.com> <3D0F1967.FB5DECB7@smi.de> Mail-Copies-To: never From: Erik Naggum <er...@naggum.net> Message-ID: <firstname.lastname@example.org> Organization: Naggum Software, Oslo, Norway Lines: 130 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 19 Jun 2002 03:55:31 GMT NNTP-Posting-Host: 22.214.171.124 X-Complaints-To: newsm...@KPNQwest.no X-Trace: nreader1.kpnqwest.net 1024458931 126.96.36.199 (Wed, 19 Jun 2002 05:55:31 MET DST) NNTP-Posting-Date: Wed, 19 Jun 2002 05:55:31 MET DST Xref: archiver1.google.com comp.lang.lisp:35144 * Andreas Hinze | Let's ask that question again for the person who decided what programming | language should be used for the project. No one will blame him for using | Java or C++. These are good proven languages for that kind of problem while | lisp is only usefull for AI applications. You disagree? You're right. We | all know that that is wrong. But his "big boss" think that way. And our | friend will keep his job. IMHO one need to change the mind of the "big | boss". And that is hardly done with technical arguments alone. It is not primarily the "Big Boss" that thinks this way, it is other Common Lisp users who publish their ill-informed "opinion" on their own language, so various searches for Common Lisp on the Net and in the literature will turn up negative articles about Common Lisp by Common Lisp users -- and who else can one trust better? Stupid people publish articles detailing how the language that made them rich is broken and want to create another language just to bite the hand that fed them. Stupid people also publish articles detailing how they lost their faith in Lisp. Stupid people seem unable to get over the fact that they no longer want to use a language and just move on to something better. I would not want to go as far as to exconerate the "Big Boss" for clueless views, but he got them from somewhere, and the more I have looked, the more I have found negative articles about Common Lisp in particular by its own user base. So it is not like people invent reasons not to use Common Lisp, they ask Common Lisp users, and many of them more than willingly rattle off a number of good reasons, from few programmers to lack of "standard" features via lack of "free" compilers, _not_ to use the language. What is this crap? Is it a self-esteem problem? Is it an apologetic attitude for doing things differently? Is it a reluctance to state that Common Lisp is smarter than any other language around? Is it a reluctance to admit that one's own mastery of this great language may be at fault for one's lack of success? Is it because the language is smarter than most of its practitioners by far that insecure people prefer languages that are dumber than themselves? I think it is time we accept responsibility for the gloom and doom instead of pointing fingers at the "Big Boss" and the even more irresponsible Someone Else. The mind of the "Big Boss" does not need changing -- it is an accurate assessment of those values that he deems relevant to his decisions. Change not just the conclusion if you want a different outcome, change the premises. Does Common Lisp need a new renaissance? Hell no! Does it need adapting to newfangled technologies? Hell no! Does it need standardization of feature X? Hell no! Does it need a dumber (i.e., wider) user base? Hell no! Does it need gratis tools and attracting the ignorant newbies and the Microsoft victims who have been taught that the only true way to enlightenment is _not_ to study and learn? Hell no! Does it need more clueless morons who cannot even bother to buy a goddamn textbook or look things up in the standard? Hell no! Does it need a killer "app" (god I hate that slang term)? Hell no! Does it need a bunch of people who mutually exclude each other from making money on their investments and published code? Hell no! Does it need a bunch of youngsters in order to keep growing and revitalizing itself? Hell no! What it takes is for _you_ to use it instead of some lamebrained tool or "language". What it takes is for _you_ to get tired of all the newbies who think they know everything so much better than everybody else they have to create their own goddamn language from scratch. What it takes is for _you_ to start thinking about proper design of your programming environment and not buying into the shitty designs perpetrated by _both_ Microsoft _and_ Linux. (Common) Lisp has been the language from which inferior people picked good ideas when they could not handle the full language. (Common) Lisp grew out of the needs of brilliant minds who wanted to get something done _right_, not just _done_. Common Lisp is not the language you use to hack up a stupid log format so you can recover 50% of the logged information -- it is the language you use to design a log format from which you can harvest patterns of use and abuse and other emergent properties. In this age of paranoid security on more powerful hardware than most people would know what to do with, Common Lisp offers a secure environment for replacements and serious enhancements of the most security-sensitive components of a business that is exposed on the Internet. Common Lisp should offer an environment in which you could run programs for Windows, the archetypical insecure and bug-infested platform. Common Lisp should offer the ability to write tools that will help automate both the writing and the debugging of software in other languages, like Common Lisp programs helped analyze COBOL programs for Y2K problems. Why the fuck do we argue over inconsequential idiocy? (And do shut the fuck up about "measured debate" if you are into bondage and discipline-debates.) Why are we _not_ out there to offer a real database system with Common Lisp datatypes instead of the tragic mess that SQL imposes on us in the C-based APIs out there (not to mention that XML calamity)? Why are we _not_ out there building the next planning system for interstate highway updates? Why are we _not_ building publication solutions that would allow a reversal of the most hostile of all hostile intellectual activities undertaken by mankind in the past 40,000 years -- the flooding of innocent people with senseless loads of marketing crap -- and building the foundation for pull advertising? Where the hell did the intelligent agents go, anyway? Where is the grammar- and synonym-sensitive search engine that finds matches for articles with words you did not think of? Where is the dumbing-down service that can take a precisely formulated and primarily correct technical or scientific article and turn it into a meaningful piece of information for the 1000-word- vocabularians? Where is the research on machine representation of context going? Never mind the expert system that learns, I simply want an interface to an encyclopedia or specialized information database that expects me to remember what I read in some other article not all that long ago, so I do not need the full-blown version aimed at the relatively ignorant. Where is the artificial intelligence that can actually take care of some of the things the human brain sucks at, like _precision_ in its otherwise amazing memory? Where is the active suggestor, as opposed to the passive computer of what-if- scenarios? I want to let the network of company computers run what-if-I-had- thought-of-that-experiments and other Searches for Terrestial Intelligence instead of wasting computrons on SETI. What if people were not so goddamn scared of machine intelligence higher than their own that they would keep computers as stupid as can be? Where are the people working on the future? Where are the futurists that do the interesting stuff that will hit us all around the next bend? I mean, to _hell_ with some practical extraction and reporting language, I want _real_ progress, and I want it before I go mad with rage over the wastes of human ingenuity, such as it is, that goes into writing yet another spyware "app" for Windows so yet another retard can send his obnoxious, insulting advertising to people who explicitly do not want that kind of information? For that matter, where is the spam filter that does the job of the intelligent, conscientious receptionist I can no longer afford because of the supposed labor-saving office automation that makes an ordinary business letter cost 20 times what it did in 1965 (adjusted for all important economic indicators)? While I am at it -- where is the _real_ savings of the computer revolution? Who took all my money and gave me advertising for life insurance and Viagra? So much real work needs to be done! So much intelligence is being wasted on so many utterly retarded applications. This is not some "Big Boss's" fault! This is the fault of the programmers themselves. Instead of being the movers and shakers of the next millennium (that's this one, so pardon the hackneyed terminology), programmers have allowed themselves to be blue-collar slaves of the most idiotic adventure ever -- yet another stupid way to waste gargantuan amounts of money on advertising, and for what? Youth envy? Obsessive fear of dying? (I'm not opposed to "logos", I'm just massively opposed to the attempt at saturating me with irrelevant nonsense 24/7.) Once we were Programmers. Maybe our last best hope is a movie.