On Sun, Jul 26, 2015 at 04:52:10PM +0200, Didier Kryn wrote:
> Le 25/07/2015 20:55, Hendrik Boom a écrit :
> >...
> >>>This really
> >>>violates the standing principle of "paying for only what you use."
> >I encountered this principle long ago when I got involved in the
> >design and implementation of Algol 68 -- they deliberately violated it
> >with one feature -- they decided that everyone would pay the price of
> >a procedure calling mechanism that supported recursion.
> >
> >Sometimes it is the right thing to do. The same decision was made by
> >practically eveery language designed afterward.
> >
> >Not to say they didn't accidentally violate it a few times, of course.
> >I'm talking five decades ago, back when people were inventing the
> >language design principles we now take for granted.
>
> So you were involved in the design of Algol68! This was the
> first language I learned, in 1972-1973. The second of a great
> lineage which comprises Pascal and Ada. Kudos Hendrik! That's a
> pretty long carreer.
Not the original 1968 version, but I was involved in the discussions
leading to the revised report, as a post-doc under Barry Mailloux. I
also wrote what's probably the most complete unfinished Algol 68
compiler in existence back then (source code still available if anyone
wants to read it).
I also had a long discussion with some of the guys in charge of the
ADA project -- they really wanted the security that comes from
completely automatic storage management but they couldn't afford to
have their weapons systems stop for garbage collection,
I told them exactly what the trade-offs were -- too what extent they
could have their cake and eat it too. In the end they decided that
they could afford neither the language complexity of the
garbage-collector-free storage management schemes, nor the garbage
collection delays. I'm not sure to what extent they ended up avoiding
dynamically allocated storage in the first official language
definition.
-- hendrik