The LispOS Project: a position paper, part 1

Mike McDonald mikemac@titian.engr.sgi.com
Mon, 26 May 1997 01:02:11 -0700


>Date: Sun, 25 May 1997 15:50:52 -0700 (PDT)
>From: "Scott L. Burson" <gyro@zeta-soft.com>
>To: LispOS@math.gatech.edu
>Subject: The LispOS Project: a position paper, part 1
>
>
>Hi all,
>
>This seems like a good time to toss in my thoughts about how this project
>might proceed.
>
>I. General Comments
>
>First off, I would point out that the current state of uncertainty is only
>natural.  There is the temptation to compare this project to Linux; but
>building Linux, although a very large implementation effort, was relatively
>straightforward in the sense that the goal was well-defined: duplicate Unix.
>The kernel design and implementation strategies were well-known when Linus
>started.  This meant that he could practically just sit down and start coding.
>I don't mean to diminish his achievement; I'm just pointing out that we are
>not in the same situation.  Oh, I suppose we could just try and duplicate the
>LispM, but that doesn't strike even me, a die-hard LispM fanatic, as a useful
>goal.

  The comparison with Linux also fails because in the case of Linux,
one person sat down and wrote what he wanted. Only after the framework
of Linux was in place did others get involved. Linus didn't have to
contend with numbers of people pulling in all sorts of different
directions. It's only after that framework was in place was it
possible for people with all sorts of interests and skills to be used
productively.

>So I think we just need to accept that it may take some time for a consensus
>to emerge on goals and strategy.  It certainly doesn't bother me that this
>can't be pinned down in a month.  And even once we select a strategy, there
>will be many details to attend to.  Better to invest some thought up front
>than to get to the middle and discover it's not going to work the way we
>thought.

  I completely disagree with this point. We keep claiming that one of
the major features of Lisp is the ability of it to support exploratory
programming, ie "try something. If it doesn't work out, try something
else." We should be exploiting this property to the fullest. We can
argue forever about what the "right" way is to accomplish any given
task. (Look at the scheme communittee if you doubt that!) The longer
we fiddle around, the greater the chance that the effort will A) die
off and B) made even more irrelevant by the progression of the
computer industry mainstream.

  Personally, I'd be overjoyed if we could reproduce the LispM
environment in a relatively short span. It would still be leaps and
bounds ahead of the alternatives. But given the lack of experience of
the participants with respect towards LispMs, I doubt too many others
hold my beliefs.

>II. Goals

>Let me discuss the issue of popular acceptance.  I have seen someone on the
>list voice the idea "if it's great, people will use it".  This is a common
>sentiment among techies, but it's well known to be false.  

  Engineers are by and large, optimists. (We believe we can solve any
problem with our toys given enough time and money.) Optimists tend to
be naive too.

>Case in point: Java and Dylan.  I gather Dylan existed before Java (at least,
>I heard of it some time earlier).  The two languages have some very similar
>goals and design philosophies.  But Java is apparently going to make it in the
>marketplace while Dylan appears to be dead.  Why?  Applets.  Gosling
>identified and targeted an application for which no existing technology was
>acceptable.  There was no such "killer app" for Dylan.

  Attempting to "divert" someone else's killer niche with our
"superior technology" is doomed to failure. The existing technology is
already identified with that niche and no one will see any reason to
switch. If you want wide acceptance, you're going to have to find your
own "killer app".


>So perhaps the first question to ask is, Who is the intended audience for
>LispOS?  This deserves some discussion.  I see a few groups who might be
>served:

  I'd put myself in another catagory, those who loved the LispM
experience and wish they had some approaching it. You can call us the
Romantics. Romantics also tend to be naive! But then I only want it to
satisfy my own desires. I have no allusion of leading the ignorant
masses to enlightenment.

>Let me say a few words about each of these.
>
>The academic community has already picked up on Scheme to some extent.  A
>high-quality implementation with some important new features (like
>persistence) would surely garner some acceptance.  Still, I don't know what
>the potential market is here.  If I were a CS professor teaching Scheme, I
>would almost certainly switch to Java immediately.  (Of course LispOS could
>support Java -- more on that later.)

  You'd only switch if your institution was a trade school instead of
a University. But then most institutions that call themselves
Universities are in reality nothing but glorified trade schools,
chasing the latest industry fade instead of teaching thinking. (The
extreme short sightedness of this industry is one of my pet peeves!)


>[Whew!  I've already spent too much time on this and though I have a *lot*
>more to say, think I will go ahead and distribute this, as I'm not sure when
>I'll be able to write more.]
>
>Comments solicited.
>
>-- Scott

  I look forward to hear some more of your thoughts.

  Mike McDonald
  mikemac@engr.sgi.com