[Oberon] Procedure variables and local procedures

chris chris at gcjd.org
Fri Sep 29 16:58:03 CEST 2017


On Fri, 29 Sep 2017 15:22:57 +0200, Andreas Pirklbauer wrote:
> It’s that the language itself has changed with Oberon-07 around 
> 2007, and for good reasons. For some additional insight into this 
> decision, see ch. 12.2. on p.73 of 
> 
https://www.inf.ethz.ch/personal/wirth/CompilerConstruction/CompilerConstruction2.pdf 
> 
<https://www.inf.ethz.ch/personal/wirth/CompilerConstruction/CompilerConstruction2.pdf> 
> ("In fact, programming experience has shown that the access of 
> intermediate level variables is bad practice and better be avoided. 
> Implementers must welcome this insight, as it makes the static link 
> superfluous.”)

What are the good reasons? I cannot remember to have experienced any 
problems caused by accessing intermediate variables. It was in Pascal / 
Modula / Oberon-90 and all it's variations till Oberon-07. For example 
Coco/R by Moessenboeck makes extensive use of local procedures and I 
consider Coco/R not to be an example of bad practice.

Wirth himself does not give any argument, why this is "bad practice" 
and the next sentence suggests that the motivation for removing this 
feature was ambiguous at best ;-)

Greetings, chris


More information about the Oberon mailing list