:: Re: [DNG] OT: Algol w, 68, Pascal, …
Página Inicial
Delete this message
Reply to this message
Autor: Hendrik Boom
Data:  
Para: dng
Assunto: Re: [DNG] OT: Algol w, 68, Pascal, Ada
On Tue, Jul 05, 2016 at 10:44:47AM +0200, Didier Kryn wrote:
> Le 04/07/2016 19:25, Hendrik Boom a écrit :
> >On Mon, Jul 04, 2016 at 06:32:38AM +0200, Didier Kryn wrote:


> >>     Ada also. BTW, Ada is considered a descendant of Pascal, which is a
> >>descendant of Algol68 :-)
> >More a relative.  Wirth made a proposal for a language, van Wijngaarden
> >made a proposal for a defining formalism.  Algol 68 was the result of
> >merging the language ideas with the formalism, generalising wherever
> >that worked, and imposing orthogonal design principles to simplify
> >everytthing conceptually.

> >
> >Wirth was sufficienly upset with the result that he implemented a
> >variant of his original design, quickly, acoiding whatever was tricky
> >to implement, and called it Algol W. He made all caracter strings
> >fixed-length (which ws diffeent from his original proposal. Later
> >he made Pascal. I'd call Pascal a descendant of Algol W rather than of
> >Algol 68. Pascal had an easier syntax to parse, simpler parameter
> >passing conventions, and required array sizes to be statically
> >determined,
> >
> >It ignored most of the new ideas introduced by Algol 68.
> >
> >>     Ada is generally used when human life is at stake - planes, rockets, air
> >>traffic control, automatic vehicles.
> >Ada resembled Pascal syntactically, but had very different semantics.
> >For one thing, it was type-safe.  Pascal wasn't.  I'm not sure
> >I'd really call it a descendant.

> >
> >
>     Cheers Hendrik. You know this history much better than me.


I lived through most of it. To me, it was life.

-- hendrik

>
>     So let's say these languages share a few typical features: instructions
> go across lines and they terminate with ';' (introduced by Algol60 I think),
> they use ':=' for the assignment instruction, they use the same words to
> denote basic types (Boolean, Integer, Natural), and they're wordy.


And the now so-called Pascal-like languages sharply distinguish
between expressions and statements. Statements cannot appear within
expresssions. This is purely a syntactic restriction, because it's OK
for an expression to call a procedure that contains statements.

Algol 68 and OCaml has no such restriction. Modula 3 and Pascal do.

-- hendrik