[Oberon] Multiple RETURN in a procedure
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