[Oberon] Multiple RETURN in a procedure
    Andreas Pirklbauer 
    andreas_pirklbauer at yahoo.com
       
    Mon Oct 24 05:42:43 CEST 2022
    
    
  
  > Wirth apparently believed the improvement to the language outweighed
  > the effort of having to rework it for project Oberon 2013 - and he had a.
  > choice I thank him for having the courage of his convictions.
For TextFrames the effort was rather small though. The only place with
multiple returns was a single procedure (procedure Min(i,j) incidentally.).
There were a few LOOP statements with multiple EXITs though (same
problem), e.g. in LocateString, LocateChar, FlipSelecton.
But I totally agree with:
  > I think that the underlying issue is: How do you write substantial 
  > pieces of software based on a changing language?
The fact that backward compatibility in language design was never taken
seriously in the Pascal - Modula - Oberon line of languages created a lot
of legacy code that periodically needed rework and very likely contributed
to the more limited adoption of Oberon (as compared to Pascal).
In industry, a language that is not backward compatible with itself is
bound to face adoption issues.
    
    
More information about the Oberon
mailing list