[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: C vs. Lisp

[ a lot of discussion about C vs Lisp deleted ]

     This may point to one of the reasons for the preceived differrence
     between Lisp and C.  Maybe Lisp does too much for programmers.  It is
     easy to write inefficient and consful code in LISP.  You would
     probably never think of writing such code in C because it would be way
     to hard.  In C you must face every issue up front so you make much
     leaner dicisions.  Many exerienced Lisp programmers worry about
     perfomance issues as they write, less experienced people may not.

I agree completely.  Upon reflection, this seems to me to be the crucial
problem that I have with common-lisp.  It does so much for you (especially
symbolics common-lisp) that you relax your awareness of the amount of work
being done for you.  For instance, the fact that the i/o functions are so
generic on a lispm is great, except that there is a HIGH cost in efficiency.
Maybe lucid is better, but this is just symptomatic of the problem.

In common-lisp, you *want* to take advantage of the nice features like the
flavor system and the wonderfully generic i/o.  And once your used to them,
it's hard to turn back.  In C, I have to do all the work, but I'm used to it
in C.

Maybe it's my own fault for getting lazy in common-lisp.  But I find that C 
encourages disciplined, efficient programming, whereas common-lisp encourages
more stylistic but less efficient programming.  Beautiful code is nice, but
the message I'm getting is that no matter what language your in, it's gonna
get ugly if the task is hard enough.  If I'm gonna right ugly code, I might as
well do it in C.

-- David Magerman
Stanford University