[Oberon] Trivialising formality considered harmful
August Karlstrom
fusionfive at comhem.se
Wed Mar 15 03:26:43 CET 2006
John Drake wrote:
>
> --- easlab at absamail.co.za wrote:
[snip]
> A concrete example. It's irritating to me
> that the ETH Math module uses lower case for
> the procedure names.
>
> http://www.oberon.ethz.ch/ethoberon/defs/Math.Def.html
>
> It's doubly irritating when one considers
> that there was no rational reason for this.
One reason may be that these functions are commonly written in lower
case in mathematics. Moreover it feels kind of awkward to write e.g.
arcsinh (arcus sinus hyperbolicus) as ArcSinH. To use Arcsinh would be
inconsistent.
> The ETH Math module is moduled off of the
> Modula-2 ISO math module which uses upper
> case. Also Math procedures are upper case
> in the Oakwood guidelines (the one and only
> serious attempt to standardize Oberon compliers
> and libraries.)
>
> http://www.comp-inspirations.com/docs/oakwood.pdf
No, the Oakwood math procedures are in lower case for sure.
It's ironic that despite the relative smallness and simplicity of Oberon
and the Oakwood libraries, as far as I know, there is *not a single*
freestanding Oakwood conforming Oberon(-2) compiler. Not even Oakwood
library conforming.
What the language needs is a complete Oakwood compliant compiler that
supports standard Oberon-2 and nothing else! If you want lots of extra
features you can go Java and I don't see why you appreciated Oberon in
the first place. (Here, "you" is of course a general "you").
[snip]
> FAR more irritating to me are the ETH modules
> Strings and Dates. While they got the cases
> right, they got the functionality wrong IMO.
> I started to include what I don't like about
> them in this reply, but I realized that would
> make it too long. ;) I'll put that in a
> seperate post.
Please, do! The only oddities I have noticed are the procedures In.Open
and Out.Open. On mainstream operating systems the IN and OUT streams are
always open.
[Chris Glur said:]
>>The only way to advance is to delegate the initial
>>decisions [eg. the
>>syntax of identifiers- uppercase..start-char
>>...etc.] to agreed rules,
>>to free-up mental creativety for REAL decisions.
I agree 100 percent.
> And yet every other programming language on the
> planet has people making all sorts of creative
> "REAL" decisions without resorting to
> artificially forcing a case convention.
I don't see anything artificial about it. If I want to use a library
that has its own conventions, I have to waste time and study those
conventions and if my client module uses libraries with different
conventions the program text will be inconsistent (and look ugly as
well). If the language designer defines the conventions and everyone
adheres to those it's all really a non-issue. In this case Eiffel got it
right.
August
More information about the Oberon
mailing list