Le 04/07/2016 19:25, Hendrik Boom a écrit :
> On Mon, Jul 04, 2016 at 06:32:38AM +0200, Didier Kryn wrote:
>> Le 03/07/2016 23:17, Hendrik Boom a écrit :
>>> On Fri, Jun 24, 2016 at 01:36:14PM -0400, Peter Olson wrote:
>>>
>>>> Can I download your compiler that fixes all my mistakes? I could really use such a tool.
>>> Yes, as a matter of fat you can -- almost.
>>>
>>> Two languages I use have the property that once the program gets
>>> through the compiler, almost all the bugs are gone.
>>>
>>> Modula 3.
>>> OCaml.
>>>
>>> Algol 68 is another one, but Algol 68 compilers are as scarce as hen's
>>> teeth nowdays.
>>>
>>>
>> 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.
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.
Didier