Subject: Re: Lisp in the "real world"
From: Erik Naggum <erik@naggum.no>
Date: 1997/07/04
Newsgroups: comp.lang.lisp,comp.lang.scheme
Message-ID: <3077005983957293@naggum.no>


* Martin Rodgers
| I agree. However, if you're talking about _my_ time, that's already
| committed. In my spare time, I'm writing a Lisp to C++ compiler, while
| I'm being paid to use C++ and Java. If you'd like to convince my boss
| that I should be using Lisp, you're very welcome to try.

I was paid to write C++ once.  I couldn't stomach the redundancy and the
syntax, so I wrote more Emacs Lisp to write C++ for me than I wrote C++.  a
good C++ programmer I asked to review the code told me I wrote "clean, good
C++", which I found very amusing at the time.  (no, it's not reusable -- I
embedded a lot of the knowledge I couldn't express in C++ in the Lisp
form.)  in the end, I could generate all the C++ code from the Lisp files,
and indeed, I did.  it was faster to generate everything and build all than
to try to figure out what had changed and use make, so it's obvious that
this approach doesn't scale very well in the form I wrote it.  now, I'm a
_big_ fan of metaprogramming, but I find few others who are, so this may
not give you anything.

C++ with Lisp syntax is a cool project.  not only does it give you that
good feeling of unbraindamaging C++, it can save you from many stupid bugs
and needless writing, especially if you put most of your efforts into type
inference and propagation.  ("static typing" doesn't mean _you_ have to do
it!)  writing a Lisp to C++ compiler from the Lisp point of view is a waste
of time, unless you're doing it as a commercial project, like the Elwood
Corporation is doing a Lisp compiler that produces readable C code as
output.

there are many ways to be productive with Lisp without being able to deploy
Lisp code.  all the very good programming modes for Emacs and the ease with
which more support for special needs can be added sort of prove this point,
even if you don't use Emacs.  for instance, that WinMain->LibMain thing of
yours is probably not in any particular need of human intelligence, so the
right thing is to mechanize the task and thus get rid of it for godd.

that humans should repeatedly perform simple manual tasks so computers can
do less work is in my view a fundamentally wrong approach to computing, yet
this is what made Microsoft big and Windows a commercial success.

#\Erik
-- 
if DUI is "Driving Under the Influence"
then GUI must be "Graphics Under the Influence"