[Oberon] [EXT] Re: A new dialect? Oberon+ (OBX)

Diego Sardina dsar at eml.cc
Thu Jul 29 23:23:10 CEST 2021


For what I remember in the past Wirth didn't allow a user to use the name Oberon for his (incompatible) language, he allowed the use of the name Modula for Modula-3 and Modula-2 R10 in recent years, maybe because he lost interest in this language (except for historical reference), but not Oberon.
So I guess this guy didn't even ask permission to Wirth for the use of the name Oberon.

However, Wirth has always favored compatible dialects and extensions since the time of Pascal. But there is a huge problem here, indeed that comes from Pascal experience.

In Pascal there was no distinction between keywords and identifiers, to make things even worse it was case-insensitive. There were lot of Pascal dialects and extensions that broke lot of source codes because they introduced new keywords such as "string", "message", "operator", etc... (lot more), these were very used as variable names. To use a Pascal dialect compiler you had to rename all your variables to string0, message0, etc...
Try to use FreePascal to compile some old Pascal source code (such as P4) and have fun :-)

Starting with Modula-2, Wirth used uppercase keywords to ease the spreading of dialects. Some Modula-2 compilers had the CLASS keyword to support classes, but they didn't break already existing source codes that used "class" identifier.
This still continues in Oberon, there are lot of extensions that can compile plain Oberon without breaking existing source codes.

So, what's wrong with this language?
It has lowercase keywords and also offers short variants (!!) such as "proc" and "int". Can you imagine how many source codes are broken with that?
I also use very often "begin" as variable name because depending on the context it is very explanatory, but I can't compile my code with this compiler, I have to use a different identifier or rename it to begin0.
Well... we came back at the time of Pascal.

This is not Oberon, nor a dialect / extension and must use a new name.

--
Diego Sardina


More information about the Oberon mailing list