[Oberon] High-level language vs assembler

eas lab lab.eas at gmail.com
Wed Oct 22 01:43:50 CEST 2014

]> That sounds like a closed-system: all the I/O has [tried to] be catered
]> for, and is hidden behind [high-level language]

] It's always been a strong objective of Prof. Wirth's language designs,
] that "nothing is hidden".

] In other words, the tedium (and tendency for programmer error) of
] machine-code programming should be removed, but otherwise it should be
] pretty obvious what the code is going to do at the machine-level.
] (Compare that with most contemporary languages!)

Correct: it's called "information hiding" in CS.

] This philosophy is extremely clear from the compiler design notes on his
] home page
] http://www.inf.ethz.ch/personal/wirth/
] in the section Oberon (for the ARM), and in Miscellaneous (for PICL, a
] language for Microchip Technology Inc.'s 8-bit PIC microcontroller).
] In the 2013 update to Project Oberon (in the Project Oberon section),
] there is no assembler present or required - the entire operating system is
] written in high-level code.

I vaguely remember being well impressed by PICL.
But trying to force asm-concepts into an Oberon-like notation, eg.
 SYSTEM.Memory(SetSpeedReg, 47)
feels like useing prose to replace musical-notation, or maths-formulars.

Yes, there's no need to keep the now inappropriate original notation of
the 60s: "mov R8,47".      I suggest
  #47 -> R8
conveys the concept, in a minimalist/most-economic way.
But this is all about cognitive science...I guess.

Related to this question of notation, perhaps PASCALs notation's advantage
for beginners, becomes over ruled by eg. C's
 { kwikNdirtySlang } notation?

== Chris Glur.

More information about the Oberon mailing list