TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Oberon – The Overlooked Jewel [pdf]

83 pointsby urschreiabout 12 years ago
This article presents selected facets of Project Oberon, the latter of [Pascal creator Niklaus] Wirth’s two large system-level design efforts. The leitmotiv of this project was a quote from Einstein, “make it as simple as possible, but not simpler”. And if any further evidence was still needed, Oberon provided the conclusive proof for Wirth’s mastery of The Art of Simplicity.

16 comments

sbabout 12 years ago
I tried Oberon once and have to say that it was way ahead of its time. Not only did the author (of the linked paper) invent one of the first JIT compiled systems, but also the ability to execute code with a mouse click (similar to Rob Pike's ACME editor) is---for a systems programming language---still not available today.<p>There were several novel research ideas tried for the Oberon system. I remember there was some paper called "Active Text" that allowed putting videos into code comments. (Probably that could have been done in Smalltalk, too.)<p>Finally, all of the books explaining details are heartily recommended. Wirth's compiler book (referred to at HN several times) is a classic easy-going introduction (the Oberon-0 grammar fits on only two pages IIRC! [1]), his algorithm book (also available for download, also referred to multiple times at HN) has some of the nicest descriptions that I did not find anywhere else (showing a divide-and-conquer approach to computing the median [near the Quicksort treatment]; plus polyphase sort, which might be useful again in data centers), and finally the Project Oberon book contains some unique treatment on system software that is not easily found anywhere else. For example, it contains the details on what's called PieceLinkText, which is the (at least AFAIK) best data structure to implement a text editor and it's operations. (Predating rope-strings by a fair amount of time, too.)<p>edit:<p>[1]: just checked my own copy; Oberon-0's grammar actually fits on one page, the full Oberon grammar fits on two pages!<p>[2]: URLs:<p>- Compiler book: <a href="http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf" rel="nofollow">http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf</a><p>- Algorithm book: <a href="http://www.inf.ethz.ch/personal/wirth/books/AlgorithmE1/AD2012.pdf" rel="nofollow">http://www.inf.ethz.ch/personal/wirth/books/AlgorithmE1/AD20...</a><p>- Project Oberon: <a href="http://www.inf.ethz.ch/personal/wirth/books/ProjectOberon.pdf" rel="nofollow">http://www.inf.ethz.ch/personal/wirth/books/ProjectOberon.pd...</a>
magoghmabout 12 years ago
The book "Project Oberon: The Design of an Operating System and Compiler" <a href="http://www.amazon.com/Project-Oberon-Design-Operating-Compiler/dp/0201544288/ref=sr_1_1?ie=UTF8&#38;qid=1366902572&#38;sr=8-1&#38;keywords=project+oberon" rel="nofollow">http://www.amazon.com/Project-Oberon-Design-Operating-Compil...</a> contains a detailed explanation of the design for the Oberon compiler and operating system. Not only it is well written with clear explanations, but it also includes the full source code for the compiler and operating system in less than 550 pages!<p>I learned some interesting compiler techniques from reading that book.
_pmf_about 12 years ago
The same (or a very similar) article can be found in the really, really great book "The School of Niklaus Wirth: The Art of Simplicity", which is a collection of high quality, highly entertaining essays about hardware, software and general CS concepts.
TomMaszabout 12 years ago
Pascal was the first "real" language I learned (BASIC doesn't count) with a compiler that ran on the IBM mainframe at work. From then it was an easy transition to a Pascal compiler from Motorola that produced code for the 68000. Tellingly, the Motorola compiler had a bunch of extensions that made programming a lot easier and mirrored the features Wirth introduced in Modula-2. In some ways, learning C was a step backwards, although in terms of my marketability it was absolutely necessary.
评论 #5607023 未加载
评论 #5611721 未加载
smalleganabout 12 years ago
If you are from Michigan like I am you probably thought this was about beer before clicking.<p><a href="http://beeradvocate.com/beer/profile/287/1094" rel="nofollow">http://beeradvocate.com/beer/profile/287/1094</a>
xradionutabout 12 years ago
I remember the the weeks I spent reading Wirth's book and learning about the OS and language. Would be nice if Oberon had become a competing system language to C, but it, the OS and the NS32K series of chips have faded into memories of us original alternative OS geeks.
评论 #5606934 未加载
nasmornabout 12 years ago
One of my former coworkers took a job as CIO and inherited a huge application written in Oberon. It is maintained by two brothers who charge exorbitant amounts but since talent is very thin on the ground and they did a good enough job there was not really anything anyone could do about it. I really hoped this would happen to me when I started with rails but the the whole WHOOPS video happened.
评论 #5606893 未加载
praptakabout 12 years ago
The article feels incomplete, as are many articles that praise systems of the past.<p>Why did Oberon become obsolete? I suspect we could learn a lot from an answer to this question.
评论 #5607511 未加载
评论 #5607728 未加载
评论 #5607504 未加载
no_more_deathabout 12 years ago
Yeah, in high school in the early 00s I was a big Oberon fan. I had booted the system from diskette on my windows computer. I also had Blackbox and built some really basic things. Overall it was a huge amount of fun, and I have fond memories of the Object Inspector and connecting references together on forms and stuff. It was really Brett Victor's "tangled" before Brett Victor came along with these ideas. Actually, it was a lot like hypercard, based on what I've read of hypercard. LayLa was a cool layout system kind of like flexbox. They had a lot of cool applications. The flat filesystem was weird (no directories), but it was certainly simple.<p>Over time it was so disappointing, though, that the system never went anywhere. My biggest takeaway was to not be such a programming language purist. Now I'm a javascript fan. It's not pure or perfect, but it's simple and it nails the important things. Plus for the foreseeable future it's the most widely supported computer language in existence. Simplicity and pragmatism are really key.
geckoabout 12 years ago
So, let's say I wanted to take a spin in Oberon today. Is that even still feasible, or is it just dead? I can't tell what I'd download to get started from the ETH Oberon page, nor do I have any idea what the library and development community would look like at this point.
评论 #5607619 未加载
评论 #5607518 未加载
评论 #5607793 未加载
评论 #5607224 未加载
评论 #5607243 未加载
评论 #5607233 未加载
评论 #5607674 未加载
评论 #5607526 未加载
glabout 12 years ago
Oberon/F was used as a teaching language during my first semesters of CS. At the suggestion of Sun's marketing department, Oberon and it's accompanying textbook were replaced by Java™ 1.0. For me that's what happened to programming in Oberon. Fortunately, Blackbox is very well documented and even without a command of its language you can still appreciate many of the elegant gems it Guards just by reading Blackbox in Blackbox . I really enjoyed the article especially learning the bit about how Wirth measured a compiler's quality.
MaysonLabout 12 years ago
For an open source version of Oberon which will run on Windows, and with Darwine on OS X, see <a href="http://oberon.ch/blackbox.html" rel="nofollow">http://oberon.ch/blackbox.html</a>
lennelabout 12 years ago
we were taught oberon at varsity. twas fun.
rcfoxabout 12 years ago
I had to write a compiler for a subset of Oberon in second year. I wasn't terribly impressed with the language itself.
xtraclassabout 12 years ago
Thx, very interesting!
guard-of-terraabout 12 years ago
But is it really that good today when we have Ruby, Scala, Go, Clojure and stuff? What are selling points today? Or is it a purely historic thing?
评论 #5607110 未加载