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

Re: questioning fairness/purpose of Scheme Implementors Workshop



At 1:25 PM 2/29/96, Kent Pitman wrote:
>  ``The purpose of this workshop is to bring together the major
>    IMPLEMENTORS of Scheme in order to review the state of
>    various Scheme implementations and to assess alternatives
>    FOR THE CONTINUED DEVELOPMENT OF SCHEME.''
...
> The idea that
>implementors should decide the fate of a language is offensive to me.
>Language is a medium for communication.  Communication is a handshake
>between people expressing an idea and people receiving an idea.  To
>not represent both of those groups in the decisions about what a
>language will be is very, very scary to me.
>
>Common Lisp suffered greatly in the latter days from focus on what
>implementors wanted to offer, sometimes based often on inertia and on
>local quirks like that they had people interested in x or y extension
>but not in z, so x or y was what got focus.  This led to very uneven
>coverage of syntax and functionality, and focus on things which were
>often not what the users would have wanted.

What is important, IMHO, is that a *small* group of the right people get
together to discuss things.  The history with Scheme Authors has shown that
[1] eliminating non-implementors removes 99% of the chaff/noise, [2]
working together as a small group works--for Schemers.  In contrast to the
CommonLisp Standard, the IEEE Scheme Standard went like a rocket.  It tried
for less, and succeeded.  I don't care if this process is fair--only that
it is effective.

Taking your hint, it would be good to invite a *small* group of people like
Michael Eisenberg who have spent years building systems in Scheme to talk
about the usability issues.  My personal belief is that Scheme has become
moribund because of its lack of approachability and usability (relative to
other vehicles).  John Ramsdell also comes to mind as a creative influence.

FYI, my "short list" of problems with Scheme is pretty well known and has
primarily to do with development and delivery environments:
     Cross/Multi-platform visual editors & GUI builders
     Separate compilation & source code management => Modules
     A standard object system      [perhaps as a library]
     A standard exception system   [perhaps as a library]
     Performance Measurement, Resource usage visualization & Tuning tools
     More flexable memory management
                [immutable, static, dynamic, block, finalizers]
     Standard foreign function & data interface

Cheers,
-Ken