[Oberon] Trivialising formality considered harmful

Alan Freed AlFreed at ohio.net
Thu Mar 16 03:02:48 CET 2006


On Wednesday 15 March 2006 05:27 pm, jan verhoeven wrote:
> Op Wednesday 15 March 2006 22:24 schreef August Karlstrom:
>  > there is really nothing wrong with e.g. ArcSinH (or even ASinH),
>
> I like the ArcSinH since the capitals draw attention to the places where
> the significant things occur. It doesn't look good in a classroom or
> thesis.

I feel I need to add my two cents here.  In my libraries (CAT for O2 
and later CAPO for BB and AO) I use the name ArcSinh :-)  If you're 
not familiar with these libraries, check them out.  They are on the 
ETH server somewhere.

>  > Basically, what I'm looking for is an actively developed free-standing
>  > open source (preferably cross platform) command line Oberon-2 compiler
>  > that comes with the Oakwood libraries.
>
> I think many more people are looking for that. Although most of the
> activity here is with respect to BlueBottle and the derivatives.
>
> I'm just a chemical engineer who got lost in programming. But I'm working
> on my m4m compiler: Modula for Microcontrollers. Since I lack a suitable
> background things take longer than I expected or hoped.
> Still, I learned a lot from the various forms of 'Compiler Construction'
> (by our Grand Master) and also the chapter about the compiler in 'Project
> Oberon' was very clarifying to me.
>
> These Oberon books have converted me. The project is still called m4m but
> it will be an Oberon compiler for microcontrollers. Oberon0 for starters. I
> hope to slowly extend the language to something resembling true Oberon in a
> few months after completion of the first m4m version. Continuous code
> refining, as our Grand Master calls it.
>
> As things look now, I want to have an m4m frontend that produces code for a
> virtual stackmachine, plus multiple backends that convert the stackmachine
> code to the target processors of my choice (Z80, GameBoy Color CPU, GameBoy
> Advance CPU, AVR Mega 16, Motorola 68K) and I will leave the PIC to other
> developers.
>
>  > I want to be able to write portable programs and I want to be able to
>  > choose freely between text editors (presently Emacs would be my choice).
>
> That rules out the XDS system.
>
>  > There is a standard for the Oberon-2 language, namely the reports "The
>  > Programming Language Oberon-2 (March 1995 ed.)" and "The Oakwood
>  > Guidelines for Oberon-2 Compiler Developers". The Oakwood guidelines and
>  > in particular the Oakwood libraries may not be perfect, but they allow
>  > developers and students to write portable programs.
>
> Good thinking.
>
>  > If a compiler writer who develops an Oberon-2 compiler called "ABC"
>  > wants to include some fancier versions of the basic modules, the natural
>  > names for those are "AbcStrings", "AbcFiles" and so on. The Oakwood
>  > modules shall not be renamed. If they are, the portability is lost. I
>  > think I'm really stating the obvious here.
>
> The obvious is not always thought of in the first place. Remember the
> Einstein/Wirth motto: make it as simple as possible, but not simpler.
>
>  > It's perfectly OK to implement the extensions described in the Oakwood
>  > guidelines or some other extensions, but I think a special compiler
>  > flag/option should need to be used to compile a module that uses these
>  > extensions, e.g. "--with-oak-extensions" or "--with-abc-extensions".
>
> That's what made gcc into the current monstruous program it is. It's a good
> C compiler, but it's just too big with too many flags.
> Why not make two compilers? One true Oakwood compiler and one or more
> others which are better, at least according to their developers. Having a
> choice is always good.
>
>  > Anyway, Oberon-2 is an excellent design as it is. Let's use it!
>  > Personally I don't need additional experimental features. I would like
>  > Oberon to be (as least) as portable as C.
>
> Here's a quote from Dennis Ritchie that I dug up lately:
>
> [Dennis]
>
>   C has been characterized (both admiringly and invidiously) as a portable
>   assembly language, and C++ tries to lift its level to object orientation
>   and a more abstract approach to programming.
>
>   The faults of both (in recently emerging standards) seem to be excessive
>   ornamentation and accumulation of gadgetry. They both have a certain
>   spirit of pragmatism, of trying to understand what's really needed.
>
> URL: http://www.linuxfocus.org/English/July1999/article79.html
>
> C and C++ are too big! Lean is better.
>
>  > I want to be able to recommend the Oberon programming language to others
>  > and I want them to be able (or even encourage them) to write portable
>  > programs.
>
> Which brings me back to another topic: it's apity that the great Oberon
> books are out of print.
> Although you still can get one at http://www.mediasell.de.
>
> But the ACM book is only available as a PDF file.

-- 
Alan D. Freed, PhD               AlFreed at ohio.net
-----
Bio Sciece & Technology          Alan.D.Freed at nasa.gov
NASA Glenn Research Center
-----
Dept. Biomedical Engineering     FreedA at ccf.org
The Cleveland Clinic
-------------------------------------------------------
The opinions expressed are my own and do not reflect
those of either NASA or the Cleveland Clinic.


More information about the Oberon mailing list