[Oberon] ThisCommand, semi missing
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.
More information about the Oberon