Newsgroups: comp.lang.lisp
From: cyber_surfer@wildcard.demon.co.uk (Cyber Surfer)
Path: cantaloupe.srv.cs.cmu.edu!das-news.harvard.edu!news2.near.net!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!news.sprintlink.net!demon!wildcard.demon.co.uk!cyber_surfer
Subject: Re: Lisp advocacy (Was Re: another take on "C is faster than lisp")
References: <779114796snz@wildcard.demon.co.uk> <Cw3123.6Cs@cogsci.ed.ac.uk> <779659921snz@wildcard.demon.co.uk> <CwFvtH.LAt@cogsci.ed.ac.uk>
Organization: The Wildcard Killer Butterfly Breeding Ground
Reply-To: cyber_surfer@wildcard.demon.co.uk
X-Newsreader: Demon Internet Simple News v1.27
Lines: 233
Date: Wed, 21 Sep 1994 14:21:21 +0000
Message-ID: <780157281snz@wildcard.demon.co.uk>
Sender: usenet@demon.co.uk

In article <CwFvtH.LAt@cogsci.ed.ac.uk> jeff@aiai.ed.ac.uk "Jeff Dalton" writes:

> >Is that a justification of endless "X vs Y" debates? 
> 
> No, it's just a reply to one point against such debates.

Ok, that's fine with me. I'm more concerned about _where_ these
debates might take place.

> I think that's true in some cases, though it's difficult to be sure
> about motives.  But I can say something about my case.

I know, you're definitly one of the most constructive advocates
I've seen. It's unfortunate that I've seen some very destructive
advocates who suffer from what I call "redmist", which is the
inability to even read the msgs of the people they're flaming.
You can't argue with people like that, as they're arguments are
less than rational, and they don't even respond to your msgs,
but to what they'd like to think that you're saying.

These people and their "advocacy" rather colour my feelings, and
so every time I see any form of advocacy, my first reaction is
"oh not, not _again_". Usually I'm wrong, but there are plenty of
times when I just can't bothered to read such debates, regardless
of how well behaved and rational everyone involved may be.

So, it isn't a comment on _your_ advocacy of Lisp, or any other
that we might point to. I just wanted to test the water, and see
if anyone else felt as I do. I could have posted a long article
about remisting, but that might have been too negative. Perhaps
I still got it wrong, in which case I apologise. It wasn't meant
as a personal attack on _anyone_.

> Perhaps my position is unusual, and hence easily mistaken for
> something else.  I don't know.  But I don't say Lisp is better
> than X, Y, or Z.  (Ok, I might in extreme cases, but not for
> languages like C or Beta.)  Instead, I try to show that it can
> be reasonable to prefer Lisp and why someone might to so, and
> I try to keep open some possibilities that are in fact open.

That's fair enough, but in the hierarchies for Windows and OS/2,
where there could be a _lot_ of advocacy, they instead isolate
such debates to special advocacy newsgroups. That way, everyone
else can just get on with the business of using their chosen
software.

Sometimes it makes no sense to debate choices which may have been
made by forces beyond the control of most of us, like the choice
of our employers, for example. I've not noticed any advocacy threads
that take these factors into account. That might be like debating
which political party should be in power when it isn't even an
election year. You can certainly debate it, but not everyone will
have the time for it. That's a different question, and I suspect
it's the reason for the existing advocacy newsgroups.

It could also be that the levels of advocacy for OS/2 and Windows
(dare I say flamewars? I don't know, as I avoid such newsgroups)
demand special advocacy newsgroups, while Lisp does not. That's
why I started this thread.

> (By "open" I mean that so far as we know they are possible and 
> not impossible, hence not "closed".)  This does not strike me 
> as a "religious" position as that is usually defined.

Agreed. However, my choice of language is dictated by forces
beyond my control. I don't have a Lisp that can produce a DLL
(a shared library for Windows), so I'll have to use C or C++
to do that. There are also many things that I wouldn't choose
C/C++ for, based on my experience with re-writing code in Lisp
very easily when the original C/C++ code took me much longer
to write. I value _both_, and for very different reasons, and
I'd like to _use_ both. Nobody will convince me that I can't.

In the same way, nobody will convince me that I should use _their_
choice of software instead of mine. They can inform me, but that's
something different. The trouble only begins when those people
fail to recognise this.

I have a prepared argument that I somtimes use, when the situation
demands it. I find that settles the matter quietly. ;-)

> I'm probably not very effective as a Lisp "advocate".  I'm too
> annoying, and I write too much.  But I'm after a constructive
> result along two fronts:
> 
>   1. That Comp.lang.lisp present a true picture of Lisp.

I hope it does! ;-) I'm aware of your desire for a constructive
result. That's why I find myself agreeing with you so often.
 
> The true picture does not include "Lisp is better than C", or 
> anything like that, but it does include the full complexity of Lisp:
> that it's a family of languages that differ in many ways and for 
> which implementations vary much more than, say, C implementations; 
> and that a number of implementation strategies and techniques have not
> yet been fully explored.  (Indeed, some are only just starting to be
> explored.)

I'd even refer people to some books on compiler theory. It's amazing
how some people can be so unaware of what a compiler _can_ do, if it
uses the right techniques. That's not a language issue, as it could
apply to a compiler for any language. I find that Basic is often a
poorly implemented language, but doesn't mean it has to be, and
I've got books that describe how to apply some pretty sophisticated
techniques (compared to standards of Basic implementations!).

By the way, I rarely see any Basic advocates. I wonder if I did,
would they know about the compiler theory that could make their
favourite language as fast as, let's say, code from a typical C
or Pascal compiler? I'm sure it's possible that I just never see
these advocates.

I'm also sure that there are some C programmers who still believe
that Basic must be slow because it's interpreted. I have just the
book to prove them wrong, and it only costs 9 quid. ;-)

>   2. That complaints about Lisp be sufficiently specific that 
>      people reading comp.lang.lisp can tell (a) how serious the
>      problem is and (b) what are the possibilities for fixing
>      the problem by changing the language or the implementation.

Are you sure that we all need to know that? I get the impression
that it's the people not normally reading comp.lang.lisp who need
the advocacy, in order to educate them, or at least to dispell
some of the myths.

I'm someone who doesn't need convincing. That's why I question
the need for advocacy in comp.lang.lisp. It would be possible
to redirect people to the comp.lang.lisp.advocacy newsgroup, if
it existed. I suspect that is why comp.os.ms-windows.advocacy
and comp.os.os2.advocacy exist, and also comp.sys.acorn.advocacy,
comp.sys.amiga.advocacy, comp.sys.atari.advocacy, comp.unix.advocacy,
comp.sys.mac.advocacy, comp.sys.next.advocacy, and many other
newsgroups.

My own "advocacy", as a reason for using Lisp, can be summed up
very simply as, "because I _can_". That's it. I don't wish to
read about someone else's reason for using an alternative, as it
often isn't an alternative for me. For example, I can't run NT,
however good it might, and however good the software for it might
be. It simply won't run on my 386! This doesn't stop people from
suggesting that I _should_ be using it, and not something else.

I may soon find that I can't afford to use VC++ instead of Lisp. ;-)
And for the same reasons that I can't afford to use NT...not
enough RAM and CPU speed, and not enough money to change that
situation. You can't argue with that. Nobody can.

> For (b) I want something specific, such as "change the buffer
> size to 1 K instead of 2" or "this GC excessively reduces
> locality of reference because ..., but this other strategy is
> better" or "optimize leaf procedures in following way".
> (See the discussion of "data bloat" for another example.)

Agreed. It's easy for complex software to be misunderstood.

I've found that technical debates, on Cix (http://cix.compulink.co.uk/)
and maybe even some FidoNet echos in the UK, such issues give way
to a more "religious" style of debate. That gets us nowhere. In
fact, it may get us into a flamewar. I've seen it happen. I hope
that experience has just been a negative one so far.

> My understanding of "religious wars" was that they involved
> opinions presented as facts.

Exactly. People who join them usually have already decided what
to believe, and refuse to change. Have you seen any advocate
threads involving comp.lang.lisp which include such religious
arguments? I've seen a few in the last two years that suggested
that to me. I don't see any point in me joining such debates,
as I don't believe that such people will ever change their view,
or realise that their view makes no difference to many of us.

> In any case, I have little interest in arguing whether Lisp is
> better or worse than something else.  I do have some interest
> in people reaching conclusions about Lisp (and about particular
> Lisp-family languages and implementations) for good reasons
> rather than bad ones.  But a good reason could be something
> like "I can program well in C and I know it will be suffficiently
> efficient" (if, of course, C really can be suffficiently efficient).

You have yet to explain why such threads should be in comp.lang.lisp
and not comp.lang.lisp.advocacy, if it existed. I don't disagree
with you, I merely feel that an advocacy newsgroup would leave
comp.lang.lisp newsgroup free of such debates. You could read and
participate in both newsgroups, while I would only use this one.
I don't see why this would be a bad idea. That doesn't mean I
don't see why it might not happen - newsgroups sometimes fail
to be created at the voting stage.
 
> I thought the initial postings on Beta vs Lisp were fairly useless,
> because they didn't say enough for me to tell why certain remarks
> were being made.  (E.g. why threads would make WITH-HASH-TABLE-
> ITERATOR obsolete -- which we straightened out vai e-mail -- or
> what the "incredible symmetry" was.)

I agree that there was a problem with the "benchmark", but that
was soon cleared up. It could have been done even earlier, but
that's how it goes. I don't feel this makes it a less than
constructive thread. It at least brough Beta to my attention, and
in a way that didn't make it look bad - to me, at least. I don't
know how you feel about Beta. I'm curious enough to take a look
at comp.lang.beta. If we were to see a series of similar threads,
with similar "benchmarks", then we could also question them.

Also, the Beta thread spawned the "Why do people like C" thread,
which I feel asks a very important question. It's not about which
language is "better", but why one is more popular than another.

I've made some of the points being made in that thread myself,
and I've noticed, you're also making them, but no doubt a lot
better I would, if I had joined you. ;-) Oops, I see that I
_have_ joined that thread. In that case, I'll just say that
you're doing rather better in that thread than I am, even tho
I think we're agree with each other.

> >Thanks for your contribution to this debate. I'm just a little
> >puzzled by it. Could you please help me? Perhaps I've misunderstood
> >your post.
> 
> Does the above help at all?

It does help a little. I'm still not sure why you feel that a
comp.lang.lisp.advocacy newsgroup would prevent you from using
it. It shouldn't have that effect at all! It might even encourage
more people to advocate Lisp. Do you feel that's what it would
do, and would that be what you want?

Martin Rodgers
-- 
Future generations are relying on us
It's a world we've made - Incubus	
We're living on a knife edge, looking for the ground -- Hawkwind
