[comp.lang.scheme] Whither Headeth Scheme?

icsu8209@attila.cs.montana.edu (Glassy) (03/05/91)

A short history of programming languages.

fortran->fortran-II->fortran-IV->fortran-77->fortran-90->...

lisp->lisp-1.5->{mac|inter}lisp->CL...        
                 |
                 (rebellion) scheme->r1rs->r2rs->r3rs->r4rs...

algol-60->algol-68
    |     |
    |     (rebellion) algol-W->pascal->modula-{1,2}-+
    |                                               |
    (offshoot) CPL                       oberon<----+
    |           |
    |          (rebellion) BCPL
    |                       |
    |                       (offshoot) B->C->C++...
    |
    (simula-67), (euclid), (clu) +...->Ada...

(functional languages omitted.  anyone care to add them?)

Observation 1:  whenever there's a Rebellion, Things get Simpler.

Observation 2:  (Sobering): as we move to the right, things get
                            More Bloated.  (ie CL, Ada, C++)
                            (exception: Oberon seems to be heading
							 the other way.)

(this is not a flame towards any of the language designers.  all 
 of them tried (try) to get the best tool given the current hardware,
 software, and conceptual constraints.  also, i'm not a "turn-back-
 the-clock" advocate.  i'm glad fortran-II is no longer with us.)

Question:  when Scheme dies of "feature-bloat" (say, about R6RS), what
    will be the next small, elegant language, useful for reasoning
    about programs, about programming?  Schemers, what will come after
    you?

Thanks,

Lou Glassy (icsu8209@caesar.cs.montana.edu)

--

--
Lou Glassy                       <///        "O Tempora!"
icsu8209@caesar.cs.montana.edu   \\\>            --Cicero

ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) (03/06/91)

In article <3604@dali>, icsu8209@attila.cs.montana.edu (Glassy) writes:
> algol-60->algol-68
>     |     |
>     |     (rebellion) algol-W->pascal->modula-{1,2}-+

Is this factually correct?  My impression was that Algol-W *preceded*
Algol 68.  I'm pretty sure it was implemented and in use before the
first Algol 68 report came out.  Pascal is not a "more bloated" language
than Algol W; Pascal has those *INSANE* fixed-size-at-compile-time arrays,
while Algol W was faithful to the Algol tradition.  The major area of
bloat in Algol 68 was formats.  Algol 68S (the official subset language)
was significantly *simpler* than Pascal.
-- 
The purpose of advertising is to destroy the freedom of the market.

pcg@cs.aber.ac.uk (Piercarlo Antonio Grandi) (03/07/91)

On 5 Mar 91 04:14:16 GMT, icsu8209@attila.cs.montana.edu (Glassy) said:


icsu8209> A short history of programming languages.

icsu8209> lisp->lisp-1.5->{mac|inter}lisp->CL...        
icsu8209>                  |
icsu8209>                  (rebellion) scheme->r1rs->r2rs->r3rs->r4rs...

Not so easy! You miss on Vincennes Lisp and Wisconsin (later Maryland)
Lisp, which have been milestones too, and are direct descendants of Lisp
1.5. In particular Vincennes Lisp could, by some stretch of imagination,
be seen as an ancestor of Scheme. You also miss, in another branch, NIL.

icsu8209> algol-60->algol-68
icsu8209>     |     |
icsu8209>     |     (rebellion) algol-W->pascal->modula-{1,2}-+
icsu8209>     |                                               |

No, no. What happened was that when proposals for the the Algol X
successor to Algol 60 were requested, Pascal and Algol 68 were
submitted. Algol W was designed as a possible Algol X before Pascal, but
later withdrawn in favour of Pascal which was the embodiment of a very
small subset of Hoare's ideas in his "Notes on data structuring" paper
in "Structured Programming". Modula is not a successor of Pascal alone;
it was influenced heavily by Mesa which was influenced heavily by things
like Alphard and Euclid.

icsu8209>     (offshoot) CPL                       oberon<----+
icsu8209>     |           |
icsu8209>     |          (rebellion) BCPL

This is not true either. CPL was meant to be another Algol X, and is one
of the ancestors of Algol 68. BCPL was a "subset" of CPL (*B*asic CPL)
meant to be used to boostrap CPL, i.e. as the implementation language of
the CPL compiler.

icsu8209>     |                       |
icsu8209>     |                       (offshoot) B->C->C++...

C++ is a successor of Algol 68 and Simula 67 as much as of C.

icsu8209>     |
icsu8209>     (simula-67), (euclid), (clu) +...->Ada...

Euclid is not really very much in the Simula 67 tradition. CLU may be.
But surely Ada is *not* in the same line of derivation. Ada is a Pascal
or Modula or Algol 68 descendant, and its real ancestor is little known
LIS.


Language history is a subtle and twisted subject, and I think that the
diagram above is not very accurate, even to the point of being
misleading.
--
Piercarlo Grandi                   | ARPA: pcg%uk.ac.aber@nsfnet-relay.ac.uk
Dept of CS, UCW Aberystwyth        | UUCP: ...!mcsun!ukc!aber-cs!pcg
Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@aber.ac.uk

oz@yunexus.yorku.ca (Ozan Yigit) (03/07/91)

In article <3604@dali> icsu8209@attila.cs.montana.edu (Glassy) writes:

> Schemers, what will come after you?

Iswim ? ;-) [1]

... oz

[1] Landin, P. J., The Next 700 Programming Languages, Communications
    of The ACM 9, 3 (March 1966), 157-164

---
In seeking the unattainable, simplicity  |  Internet: oz@nexus.yorku.ca
only gets in the way. -- Alan J. Perlis  |  Uucp: utai/utzoo!yunexus!oz

jeff@aiai.ed.ac.uk (Jeff Dalton) (03/29/91)

In article <PCG.91Mar6175708@aberdb.cs.aber.ac.uk> pcg@cs.aber.ac.uk (Piercarlo Antonio Grandi) writes:
>On 5 Mar 91 04:14:16 GMT, icsu8209@attila.cs.montana.edu (Glassy) said:
>
>
>icsu8209> A short history of programming languages.
>
>icsu8209> lisp->lisp-1.5->{mac|inter}lisp->CL...        
>icsu8209>                  |
>icsu8209>                  (rebellion) scheme->r1rs->r2rs->r3rs->r4rs...
>
>Not so easy! You miss on Vincennes Lisp and Wisconsin (later Maryland)
>Lisp, which have been milestones too, and are direct descendants of Lisp
>1.5. In particular Vincennes Lisp could, by some stretch of imagination,
>be seen as an ancestor of Scheme. You also miss, in another branch, NIL.

What, exactly, is the evidence that Vincennes or Wisconsin Lisp
were milestones or that Vincennes was in any sense an ancestor
of Scheme?  

Of course, there are a number of significant Lisps between Lisp 1.5
and MacLisp/InterLisp as well as at other interesting points.  In
particular, one might mention PDP1 Lisp and BBN Lisp on the way to
Interlisp, Q-32 Lisp, Stanford Lisp 1.6 and UCI Lisp, Cambridge Lisp,
PSL, Lisp/VM (and related Lisps), Le Lisp, LM/ZetaLisp, NIL, Spice
Lisp, and of course Lisp 2.  But in a "short history" it is not
necessary to mention everything.