Subject: Re: The Next Generation of Lisp Programmers
From: Erik Naggum <erik@naggum.no>
Date: 24 Aug 2002 04:05:25 +0000
Newsgroups: comp.lang.lisp
Message-ID: <3239150725773370@naggum.no>

* carhore@yahoo.com (c hore)
| How many of these people are Lisp programmers.

  I do not consider myself "next generation" anything, but I have contributed
  to GNU Emacs just short of a decade, was a world-renown expert on SGML and
  related standards until I wrote a book about it and realized that 97.5% of
  SGML is braindamaged and I could not gloss over it, anymore.  First serious
  programming job in 1978 in MACRO-10 on TOPS-10 on PDP-10 -- still in love
  with its design.  Claims to fame include the four-digit year in Internet
  mail (it used to be two, until RFC 1123 in 1989).  Began writing in C under
  Unix in 1980, discovered Lisp same year.  Have written more than 1 million
  lines of code in various languages since then.  Most of it has been shared
  but predates Open Source.  Oldest still running application was written in
  1982.  Hardware history includes Altos and Xenix from 1984, SPARC and SunOS
  from 1993, Intel and Debian from 1997.  Current systems have 1G and 512M
  RAM, dual 600 and 733 MHz PIII, 368G and 40G disk -- literally unthinkable
  when I started out, and I still marvel at the low prices for hardware and
  the low cost of most software and that I can make a living having fun.  Yet
  I got sick and tired of C++ after 1993 (SGML project) and spent 1994 through
  1996 becoming an expert in Common Lisp, supporting myself as a writer and
  journalist.  Franz Inc have supported me with Allegro CL on SunOS then Linux
  since late 1996.  Have also used Scheme actively for a number of years, but
  don't tell the Schemers.  Other languages include Ada (83, 95), ML (sml-nj,
  ocaml), Java, Perl, Python, SQL, SDL, Erlang, Dylan, Smalltalk.  Education
  in mathematics, phycics, computer science and telecom, philosophy, law,
  medicine.  Have contributed to international standards in numerous areas
  (the authoritative version of Open Source) within ISO, ANSI, IETF and ETSI.

  However, I no longer share code with other people by default.  My experience
  and problem-solving abilities have become the bread and butter of my life,
  not just "fun" until something rewarding comes along.  Like many older fans
  of Free Software and Open Source, I have discovered that it is really only
  free in the sense that the time you spend on it is worthless.  When people
  refuse to help pay for the roof over your head and your meals when you help
  them do their well-paying jobs, sooner or later you get seriously pissed.
  So since I refuse to help people /significantly/ for free, I get paid well,
  instead.  I think many Open Source adherents will discover the same over
  time and that it does not pay to help young people of today the same way it
  was mutually rewarding for old-timers to help young people in the past.

  I have remarked here on comp.lang.lisp that Common Lisp is the language you
  graduate into.  When you have done all the compulsory exercises and you have
  acquired the discipline needed to write C++ code that actually works all the
  time, you appreciate the better languages.  Undisciplined people who write
  code that works only some of the time will not understand the point with a
  much more powerful language and relinquishing control over the hardware.
  (Like, I have not upgraded the CPUs and motherboard on my system because I
  would gain nothing from a faster CPU.  100MB/s disks and a 100Mb/s network
  connection are still the major bottlenecks for my work, not to mention the
  /amazingly/ slow bandwidth to and from the human brain.)

| Where, if any, will they take Lisp in the future?

  I think that people will remain focused on making things work with their
  current tools as long as these tools require constant upgrading and yet more
  expenditure of brain time to learn them.  You have to make a conscious
  decision to jump /off/ the bandwagon to realize that it was neither going
  very fast nor anywhere.  XML, for instance, I have called "a giant leap in
  no direction at all" and I really do have the credentials to say that.

| Or, despite Lisp being a programmable programming language, supposedly a
| DNA-like language and all that, could it just stagnate and fade into
| irrelevance from lack of users and evolvers.

  Nope.  When you realize that the tools are getting in the way of getting the
  job done (of which Perl is a downright /marvelous/ example), you embrace
  Common Lisp or its descendants because they do not get in the way.

| How many lines of Lisp code can you produce before you conk out, and have to
| leave it (for better or worse) to the next generation?

  Several million, I should say.  If there is anything to this argument, the
  number is smaller for other languages.  I found that about 10,000 lines of
  C++ was enough for my lifetime.  I can write SQL only as part of a much
  larger solution in another language.  If I were to write SQL all day, I
  would burn out completely in less than three months.  The reason Perl is
  used mostly for small programs is that the immune system kicks in if you
  overdose on it and although Perl looks like bat barf, most people will just
  stop coding before they actually Herl.

  I think Common Lisp is a very safe choice.  I also think Common Lisp is many
  people's last programming language.  Perhaps the line you allude to means
  that you would never run dry if you wrote in C because the truly unsolved
  problems are out of reach, but your creative genius has limits that Common
  Lisp may help you exhaust.

-- 
Erik Naggum, Oslo, Norway

Act from reason, and failure makes you rethink and study harder.
Act from faith, and failure makes you blame someone and push harder.