On Tue, 28 Sep 1999 13:03:37 -0400, [EMAIL PROTECTED] wrote:

...
> The Natural Programming project is designing new languages for
> specialized applications, like for kids and multimedia authoring,
> where competition from C/C++/Java isn't a big issue.  So any
> knowledge we gain about usability will be relevant and important.
>
> Anyway, the language which is popular seems to have about a 7
> year window (Pascal, C, C++, Visual Basic, Java, ...) and so new
> languages are always popping up.  Certainly Java at least was
> influenced by the conventional wisdom about what was problematic
> about C++.  Maybe we can insert some usability considerations
> into whatever language becomes popular next?  We certainly won't
> if we don't try, or if we don't know what to say! 

As I write the CMU CS Dept website appears to be unreachable so I can't see
what's currently been eval'ed, but Dylan might be an example of what comes
next -- and since Dylan has some roots at CMU I guess you ought to have look
at it.

Some of great things about Dylan from an educational point of view are:

(+) It is a dynamic language and so can start off very script-like without
getting anxious about types:

        define method double (x)
          x + x
        end;

(+) It is interactive. At a Dylan prompt you can evaluate the definition and
then test it straightaway:

        ? double(2);
        > 4

(+) It scales up to very large natively compiled programs and more advanced
topics like combining object-oriented and functional programming:

        define method double (x :: <function>) => (y :: <function>)
          compose(x, x);
        end method double;

(+) It lets you define domain specific linguistic extensions, e.g.
with-open-midi-device here for multimedia:

        with-open-midi-device (device)
          send-midi-message(device, status, channel, data1, data2);
        end;

Harlequin's Dylan can be found at:

        http://www.harlequin.com/products/ads/dylan

And Gwydion Dylan, developed originally at CMU, can be found at:

        http://www.randomhacks.com/dylan/

I would be interesting to see a critique of Dylan's design since it was a
meant to be a synthesis of the best ideas from other programming languages
when it was conceived at Apple.

__Jason

Reply via email to