Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news.harvard.edu!news2.near.net!yale!yale.edu!spool.mu.edu!sdd.hp.com!swrinde!pipex!uknet!festival!edcogsci!jeff
From: jeff@aiai.ed.ac.uk (Jeff Dalton)
Subject: Re: C is faster than lisp (lisp vs c++ / Rick Graham...)
Message-ID: <Cvo0E7.Gws@cogsci.ed.ac.uk>
Sender: usenet@cogsci.ed.ac.uk (C News Software)
Nntp-Posting-Host: bute.aiai.ed.ac.uk
Organization: AIAI, University of Edinburgh, Scotland
References: <Cv3JuF.4G6@triple-i.com> <Cv9q23.89q@cogsci.ed.ac.uk> <CvEMGF.570@triple-i.com>
Date: Mon, 5 Sep 1994 16:27:43 GMT
Lines: 242

Go to the dashed line for the non-meta part.

In article <CvEMGF.570@triple-i.com> kirk@triple-i.com (Kirk Rader) writes:
>In article <Cv9q23.89q@cogsci.ed.ac.uk> jeff@aiai.ed.ac.uk (Jeff Dalton) writes:
>>I have not been disingenuous at any point.  Either you've
>>misunderstood me, or you need to look up what the word means.
>
>I used the word I meant.

But did it mean what you thought it did?

>>But *I* have not responded to *you* as if what you quoted was all you
>>considered.
>>
>>I think you may be misunderstanding what you just quoted.  What I am
>>saying is that when A quotes passage X and responds, A may have
>>considered more than X.  *You* have reacted as if I considered only
>>what I quoted.  In fact, I have considered everything that you said
>>that reached me.  It's possible that I've misunderstood you, but if so
>>it's not because haven't paid attention to everything you've said.
>
>No, you accused me of using "an old net technique" in claiming
>unjustifiably that you were including only the most negative sounding
>quotes and responding as if that were all I had said.

No, that's not it.  I accused you of responding as if I'd considered
only the parts I quoted.  And you in fact did just that, or something
very near.  You even accuesed me of quoting out of context, though
neither you nor anyone else (on comp.lang.lisp or in e-mail -- hint
to some who've e-mailed me) has offered anything I quoted that means
something different in context.  If someone ever does, I will be 
glad to retract what I said and apologize.

For it may that I've misunderstood you.  That's entirely possible.
But I'm not deliberately distorting what you say, and I'm not being
disingenuous.

>  I still think
>that is what you have _in fact_ been doing, whether that is "an old
>net technique" or not.  

That's because you're not willing to believe me when I tell you
otherwise.

What I am _in fact_ doing is considering all you write.  I even save
your messages, because I find much of value in them.  However, for the
most part, I have responded only to the aspects I disagree with.

> I also think that your reponses even to many of those quotes
>you have left in have missed the mark, since your replies often seemed
>to me to have gotten what I said wrong or not to really be relevant to
>what I had said. 

That may be, but there must be better ways to straighten such things out.
At this point, we are both reacting w/ excess hostility, it seems to me.

As for relevance, I am sometimes trying to counter impressions rather
than to refute your points.  

>    Since I credit you with the knowledge, skill, and
>intelligence to know what you were doing in all this, I feel justified
>in speculating that you have been disingenuous.  But perhaps it really
>is just a prolonged misunderstanding, after all.

Well, I don't think it's _only_ a misunderstanding.  There seem to
be genuine disagreements as well.

>What I am actually accusing you of is either through honest
>misunderstanding or deliberate distortion responding to arguments I
>never made in support of positions I do not hold, and making this seem
>not altogether ridiculous through selected excerpting of my messages
>in your replies.

So what is your position then...

----------------------------------------------------------------------

>Once more for the record, and it is to be hoped finally, let me state
>the position I have taken in this thread. 

Thanks.

> Different tools are better
>for different tasks. 

I agree.  However, programming languages are rather flexible and
general tools.  When people try to assign tools (languages,
techniques, etc) to applications (e.g. OOP is good for this,
logic programming for that, etc), they very often get it wrong.
This has been a serious problem for the proponents of certain
languages.  For instance, The logic programming community had to 
spend a lot of time showing that Prolog could be used effetively 
in cases where people claimed it was unsuitable and that Lisp or
C or some other language would be better.

> Asking is lisp (or any other language) too big
>or too slow is not well-posed without some information about
>application requirements.

Ok.  But thinking of Lisp as "a [single] language" can be very
misleading.  Moreover, languages aren't too slow directly, only
implementations (or the code they produce) are.  Languages might 
be too big directly, perhaps making them hard to learn or to master, 
but if we're talking about memory requirements at run-time it's 
again only implementations or the compiled code that can be too big.

So asking whether Lisp is too big or slow is not well-posed without
some information about the possible variations in languages and
implementations.

>  Given that, it is false, or at least
>misleading, to say that lisp (or any other language) is unequivocally
>_not_ too big or too slow, as was done in the message to which my
>original post was a reply.  

But you often can conclude that language A needn't be any worse
than language B (or narrower conclusions along similar lines).

Now, why do you find it so important to make all these points about
Lisp rather than about particular Lisp-family languages and particular
implementations?  Why spend all this time and effort?  What's so
bad about someone saying Lisp needn't ever be too large or slow
and *getting away with it*?  Especially since very strong points
can be made about current implementations and the ones that are
likely to be available in the near future.

>    Is Fred too short?  Maybe he is too short
>to be a basketball player, but he may be just the right height to be a
>jockey.  Does that make being a basketball player better or worse than
>being a jockey?  Of course not; it does, however, recognize that the
>requirements of the two occupations are different such that different
>people are likely to have better natural aptitude for one than the
>other.  The same is true for programming languages, 

Programming languages don't line up neatly with application areas,
and when people try to line them up they often get it wrong.

Moreover, there's little point in concluding that Lisp will be worse
than C *somewhere* (though we don't know where).  We need to have an
idea of where and how much worse and what scope there is to make Lisp
do better.  So this general point about "natural aptitude" doesn't
tell us anything very useful even if it were completely correct.

>        so it is just
>silly to argue endlessly about which language is "better" in some
>absolute sense.  

But I (at least) don't argue about which language is better in
an absolute sense.  (Just in case this wasn't clear.)

>  But in my opinion it is equally silly, and in the
>particular case which prompted me to comment, dangerously misleading
>to pretend that lisp _must_ be better than C or some other particular
>language for all or even almost all applications simply in virtue of
>the fact that is more powerful, or makes one more productive, or
>anything else. 

That is again not a position I hold.  (I'm again trying to counter
possible confusions and misunderstandings just in case they exist.)

>   It seems to me that the state of the art in the design
>and implementation of programming languages has not advanced to the
>point where any one language is suitable for the majority of
>applications, so prudence is required when choosing, or more to the
>point recommending, what language to use for a particular application.

There I agree completely, as I've tried to make clear from time
to time.

>Now this is not the first time I have said any of the above, and you
>have already stated on several occasions that you agree,

But I don't agree completely with *all* of the above.  I agree
with some of the things you say.  Others I think are misleading
or potentially misleading.  Still others I think are wrong.

> which is why
>I see no point in dragging this on endlessly. 

Ok.

>   I predict that you will
>now respond, however, by taking some particularly inflamatory sounding
>quote out of context from some previous posting and say, "if that is
>all you meant, why did you say this other?" 

Well, why *did* you say those other things?  Presumably you did
feel Lisp, and not just particular implementations, had problems
with I/O; that higher-level features necessarily had costs; and
so on.

>   The answer, again as I
>have said before, is that I would not feel it fair or honest to simply
>let stand unchallenged what have seemed to me to be mis-statements of
>fact about the relative performance of different programming languages
>for particular kinds of applications. 

Then why didn't you confine yourself to facts instead of including
not-fully-justified claims about Lisp in general and making _a priori_
arguments about higher-level features?

Look, this is not, especially now, some kind of coded accusation or
claim about your real aims.  I don't know why you said many of the
things you did, especially since you could -- and did -- offer much
stronger arguments on narrower, less inflamatory, claims.  Moreover, 
I don't understand why you think I shouldn't pay any attention to
these other points.

>  You and others have accused me
>of trying to discourage people from using lisp, despite my frequent
>references to the fact that I consider lisp well-suited to a variety
>of kinds of applications. 

I think what you've said may have that effect (discouraging people
from using Lisp) and may well reinforce a number of prejudices besides.

I suspect that most people think Lisp is well-suited to some things.
That doesn't say very much in itself.  When I point out that Lisp
could do much better, that current implementations are misleading,
etc, you don't agree with me.  Nor do you (at least no so far)
say just how bad the problems you've observed are.  You give the
impression that they're so bad as to disqualify Lisp, but for
all we know Lisp is only 10% slower than C or the problems are
due to poorly tuned implementations.  (That a number of different
Lisps have the same problem shows very little, BTW.)

>   What I _have_ been trying to discourage is
>people, probably through over-compensating for what they perceive as
>lisp-bashing, pretending that any language is actually good at those
>specific kinds of tasks at which it is really bad.

I think it's counterproductive to engage in that kind of psychological
speculation/analysis: not only are they wrong, they're over-compensating
for a mistaken perception and *pretending* that the facts are different
than they are.  --  You must know how annoying and insulting that will
be.

Anyway, just what tasks *are* those at which Lisp is really bad?  
And just how bad is it?  Will you now say?

-- jeff

