[Oberon] ThisCommand, semi missing

Jan Verhoeven jan at verhoeven272.nl
Wed Apr 16 16:31:27 CEST 2014

Paul Onyschuk wrote:
> On Wed, 16 Apr 2014 01:45:32 +0200
> Jan Verhoeven <jan at verhoeven272.nl> wrote:
>> LOOP/END gone. Multiple RETURNs gone. Silly WHILE/ELSIF construct.
> Funny, I was reading "Why Pascal Is Not My Favorite Programming
> Language" by Brian Kernighan the other day.

Let's have a look at C. C has a Goto statement. Dijkstra was against it. 
Knuth not. Torvalds also not. Under the condition: beware of the Goto! 
Use it with caution. The Goto is still part of C. Nobody decided to take 
it out, for the sake of safety or whatever.

LOOP/END is in fact a Goto statement. The "LOOP" keyword defines a label 
and the associated "END" statement says "Goto the matching LOOP label".

LOOP/END is simply removed. Yet, endless loops are at the core of all 
process computers and operating systems. LOOP/END is a great control 
structure, especially with the matching EXIT statement. LOOP/EXIT/END 
can replace any other looping construct. But the reverse is not true.

I say that's a pity. The best looping structure has been sacrificed.

The same goes for the other keywords that were skipped. Normally a 
programming language gets richer with age. Oberon gets skinnier. Again, 
I call that a pity.

And now I am awaiting the next private mail from another participant of 
this list telling me "How dare you doubt Professor Wirth's judgement". 
As I have them regularly.


Jan Verhoeven

More information about the Oberon mailing list