Oberon Core implements "Project Oberon - Revised Edition 2013" from Prof. Niklaus Wirth, https://www.inf.ethz.ch/personal/wirth/ , on the Macintosh.
The application requires no downloads or special installs. It contains the compiled Oberon system files and sources including the Oberon-07 compiler. The RISC5 processor and i/o devices are simulated within the app, while the workstation screen is displayed in a Mac window.
As a special feature, a variant of Oberon's Files implementation is included, based on a "Files Device" that transparently maps the Oberon file-system into a Folder on the Mac. In this way, exchange of files between Oberon and other Mac applications is possible.
Oberon is a general purpose language from the Pascal/Modula/Oberon family, created around 1988 by Niklaus Wirth and Jurg Gutknecht at the ETH Zurich. The language was developed in combination with the Oberon operating system, establishing a single-user workstation.
Oberon Core is the free version of Oberon Workstation, produced by Reactive Instruments for software specialists who want to:
• write high-quality applications with small footprint, and don't require advanced graphics
• learn hands-on what "Project Oberon" is about and why new languages borrow from it
• work with software that can be reviewed and understood by a single person, all the way down to the hardware
• study pure computer technique without complex, proprietary or obsolete distractions
• explore variants of OO programming techniques, component based schemes, system variants, compiler design...
If you are new to Oberon, the system might feel "spartan" in the beginning. Until you start to discover the great power hidden in it, and get comfortable with the mouse operation. Use the Mac Help function for a walk through the basic operations!
You will love the responsiveness: system startup and compilations are done in a fraction of a second!
Constructing relatively large programs is possible if you use the "heap" mainly for structures of light-weight records/objects. Bulk storage of e.g. "sequential" data such as texts or fragments of text can easily be delegated to the (memory buffered) file system. Oberon's standard text system presents a fine example.
The application is kept fully compatible with Project Oberon, with the exception of the low-level file system implementation. Additions are "external" to Oberon, i.e. are implemented in the periphery.
• Oberon files reside in a Mac Folder. Enables file exchange, backup, version control ...
• entire-file memory buffering. Outside Oberon, in the Files Device
• Restore function. To re-insert pristine Oberon files
• on-the-fly boot image creation at startup, from a selectable principal module
• selectable inverted screen on Video Device (black background, or white background)
• 32 "board" LEDs, with formats: hexadecimal, decimal, trap-info
• 8 latched "board" switches, (switch is reset when read by Oberon)
• Power saving if Oberon is idle (for battery life)
• Date Device, providing the current date/time from the Mac host
• error detection. Bad instructions, memory limits, bad alignment, device errors etc.
cause RISC5 to halt and the app to display an error message
• Renamed app to "Oberon Core", the basic free version
• Simplified user interface: removed "alternate boot"
• Oberon System module updates from Project Oberon
• Files ordering in System.Directory fixed
• Various bugfixes and matching to new macOS version
Ratings and Reviews
nostalgic phenomenon (if you liked oberon ;-P)
I used Oberon back on the old SparcStation IPX, I think it was in ’93 or so. I learned a lot of OO techniques off it. It was the first language that showed me that C/C++ style pointer arithmetic was not a requirement for an effective systems (and application) programming language. Oberon and Oberon-2 were fairly influential (if little used) languages that have influenced a number of successors including most recently Golang.
The Oberon system was published in its entirety in a very nice book, still available, which includes descriptions of the compiler and editor.
Kudos to the developers of this app for bringing back a bit of history.
With Family Sharing set up, up to six family members can use this app.