Re: Duplication of effort.

From: Harvey J. Stein <>
Date: 07 Oct 1998 12:32:50 +0200

Russ McManus <> writes:

> (Harvey J. Stein) writes:
> > So, what's missing is a standard that's sufficiently rich to
> > allow good work to be done in a C/unix/windows centric world.
> > The issue isn't proliferation of incompatible implementations.
> > The issue is sufficiently rich standards.
> Actually, I agree with you, Harvey, on this point. It would be
> great if there was a standards document describing extensions to
> scheme, that addressed system interaction issues.
> scsh and efforts like it can help here. That's why I'm (slowly)
> working on scsh for guile.

I agree, & I'm glad to hear you're working on it. I hope this comes
with work to make guile & scsh more compatible.

> > May the best implementation win. You might get some cooperation in
> > advance by argument/discussion, but it'd be misplaced. The real
> > cooperation would come when you start integrating patches from
> > people who downloaded your first cut.
> I still think you are suggesting that people re-implement the same set
> of features in multiple scheme implementations, just so that at some
> future time, one will distinguish itself, and we'll end up using that
> one. This sounds like duplicated work to me.
> Why isn't it easier to just plug the wanted features into a single
> implementation? A lot fewer scheme-hacker-hours will be spent, with a
> more useful product at the end.
> I'm repeating myself now, and I think I have made my point clearly,
> but I would just like to say that you have not addressed this point.
> Is the only reason you think that the implementations should remain
> separate is that guile currently has warts?

I agree it's duplicated work, but I don't think duplicated work is
bad. I'd also rather see one great scheme implementation that
everyone could use, but I think there are too many open issues for
that to happen. Off the top of my head I can think of: whether or not
to compile to C, how to compile in general, how to GC, which module
system to use, which object system to use, how to interface to the OS
& the unix libraries in general and how to do parsing.

Only when there are many different implementations trying out the
different possibilities can one really say what's the best way to do
things. No one person or one group is going to code all the different
possibilities into one implementation & try them all out. The only
way to find out is by each person who thinks he has a better way of
doing it going out & doing it to prove his point.

Moreover, the answer of which feature set is best will probably mostly
be that it depends on exactly what you want to accomplish, which is
back to meaning that one will probably want more than one

Not to mention the fact that ultimately people program what they want
to program. Those working on scheme implementations probably want to
work on implementations. If they wanted to develop apps for scheme
implementations, they probably would have picked an implementation &
done that instead. These developers are probably very dedicated to
their particular implementations - they're not going to drop their pet
projects & just start writting generic applications. What would they
write anyway? They're also working on their particular
implementations because of the particular applications/research issues
they're working on.

So, actually, I really don't even consider it duplication of effort.
I consider it a needed step towards getting a good free scheme
implementation that can be used in the unix/MS
Windows/Mac/... environments.

Even if I didn't think it a needed step I still couldn't call it
duplication of effort. Calling it duplication of effort means that
there's a certain amount of work that can be allocated amongst a
certain set of people, and that some people are are working on the
same or similar tasks so more work would be done if one of them would
drop it & do something else or help the other or ...
The fundamental implication though is that people can be moved from
project to project. I don't think this is the case, especially when
we're talking about free software development. Like I said, people
program what they want to program.

I though of a funny analogy this morning. There's generally a lot of
discussion on the net of what people should work on wrt programming
tasks. What's funny is to compare it to authors writing books. Would
anyone ever even consider telling a particular author or a set of
authors that they're duplicating effort, that they shouldn't work on
the books they're working on, that Joe's already writing the official
manual, so you should either help him or go write something else?
It's even funnier if you start thinking about novels. "What? You're
writing a novel about a boy & a girl who fall in love? That's already
been done - take a different subject!"

Harvey J. Stein
BFM Financial Research
Received on Wed Oct 07 1998 - 12:33:32 CEST

This archive was generated by hypermail 2.3.0 : Mon Jul 21 2014 - 19:38:59 CEST