# 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!195.86.7.162!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> <da69ff6a.0205190748.3506f036@posting.google.com> <aemnva$52m$2@reader1.panix.com> <3D0F1967.FB5DECB7@smi.de>
Mail-Copies-To: never
From: Erik Naggum <er...@naggum.net>
Message-ID: <3233447730825778@naggum.net>
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: 193.71.199.50
X-Complaints-To: newsm...@KPNQwest.no
X-Trace: nreader1.kpnqwest.net 1024458931 193.71.199.50 (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.

Back to the top-level.