Oberon-2, records and multitasking. 
Author Message
 Oberon-2, records and multitasking.

I have Oberon on my 386-PC. Can anyone tell me where I can
get hold of an Oberon-2 compiler for the PC.

Regarding the language, I think it's great. I like it's
simplicity and symetry (I know there was a discussion a while
back about matching BEGINs and ENDs, but I'm used to CHILL and
I much prefer the CHILL/Oberon style). Also, I find the guard
feature quite ingenious - it should be adopted by more OOLs.
What I feel is a great shame is that they have done away with
variant records. I don't think that parsing variant records
constitute such a great effort as to justify its exclusion from
the language. Let me give an example as to why I think it is
necessary - I quote from "Project Oberon" by Wirth and Gutknecht
(a great book, by the way) where it talks about a data structure
used in the compiler:

        ObjDesc = RECORD        (from P. 356)
                dsc, next: Object;
                typ: Struct;
                a0, a1: LONGINT;
                a2: INTEGER;

    "... The simplest solution lies in using the multipurpose
fields a0, a1, a2 and dsc for variant specific attributes. For
example, a0 holds an address for variables, parameters and
procedures, an offset for records fields, and a value for

I feel the lack of variant records forces short-cuts such as
that above, especially when memory space matters, and it really
does detract from what is a very readable and elegant language.
I hope that the next Oberon version will have variant records,
even tagless variants are better than nothing.

What would also be nice would be a pre-emptive multi-tasking
(PMT) version of Oberon - designed in the same "lean and mean"
attitude. I know, before anyone screams at me, that the original
aim was a single-user cooperative multitasking (CMT) graphic
work station, but I'm just expressing a wish here - because
Oberon is just the sort of OS I'd like to buy and use, if it
were PMT. I find CMT just too restrictive and falls short
of modern days requirements (eg. blocking the computer whilst
printing is just below standard - I know one can write a
background task for this but it just would be nicer all round
when one does not have to resort to this). I also, hear rumours
that there'll be a version of Oberon for OS/2, where you can run
an Oberon as a session. This I feel is a great pity, one has to
buy a multi-ten-megabyte OS in order to run lean and mean Oberon.
I can only think of chosing OS/2 for 2 reasons, one is that it is
a true 32-bit OS and the other is its PMT capabilities, so that
you can run Oberon session(s) and do other things as well. I
stand corrected if my guesses are wrong - but my wish still remains.

Ray Cheung.

Wed, 22 May 1996 16:59:29 GMT  
 [ 1 post ] 

 Relevant Pages 

1. Multitasking in Oberon

2. Frage Oberon 3 / Question Oberon 3

3. CD-Oberon - Oberon/F

4. CD-Oberon Oberon 3 Printer Problem

5. Oberon System 3 / Native Oberon projects

6. inquiry about Visual Oberon/PC Native Oberon System 3

7. Native Oberon: Getting DOS based installation out of Oberon-0

8. Oberon-2 in Native Oberon System 3

9. modula2-to-Oberon, C++-to-Oberon

10. oberon kernel sources (Article 4814 in comp.lang.oberon)

11. POLL: Interest in PC Oberon (Native Oberon)

12. Oberon-Growth-Limit was Re: Oberon: beginners questions


Powered by phpBB® Forum Software