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-2, a hi-performance alternative to C++ (1997)

73 pointsby abricqover 2 years ago

8 comments

KMagover 2 years ago
One interesting thing about at least some versions of the Oberon system is that they found that it was faster to store programs as compressed abstract syntax trees on disk and compile them at load time instead of storing them on disk as native code. This was largely due to 2 factors: (1) the ratio of disk I&#x2F;O bandwidth to CPU speed on the ETH Zurich workstations and (2) Wirth-style compilers generating code very quickly (with relatively few optimizations).<p>Wirth&#x27;s graduate student Michael Franz took this a bit further and adapted to storing Java programs as compressed SSA control flow graphs, called SafeTSA. Franz&#x27;s research group modified the Jalapeno (now JikesRVM) JVM to be able to load SafeTSA files as well as regular Java class files. They found that the time to JIT code was reduced, and the performance of the generated native code was faster when using SafeTSA. The downside is that SafeTSA isn&#x27;t well suited to interpretation in a HotSpot style hybrid JIT. So, program start-up time would likely suffer unless using AoT compilation. Last time I played around with A2&#x2F;Bluebottle&#x2F;AOS, I believe compressed syntax trees were the on-disk program format.
评论 #34515540 未加载
评论 #34516449 未加载
mslaover 2 years ago
I never got the big appeal of Wirth languages. When they weren&#x27;t just vanilla Algol derivatives, they were making a virtue out of a performance hack (enforced define-before-use to enable single-pass compilers) or relying on non-standard variants (Turbo Pascal&#x2F;Delphi) to claim that uninspiring base languages were competitive.<p>As an aside, Oberon-2 isn&#x27;t a C++ alternative because it apparently has mandatory garbage collection, which isn&#x27;t acceptable to C++ programmers now (which is why they&#x27;re going to Rust instead of Go) and damned well wasn&#x27;t acceptable to them in 1997, else they would have moved to Java.
评论 #34515614 未加载
评论 #34514842 未加载
评论 #34524257 未加载
评论 #34515173 未加载
Rochusover 2 years ago
Well, Oberon-2 (designed and published by Hanspeter Mössenböck in 1991) was indeed closer to C++ than its predecessor Oberon 87 and 90, but definitely not a true alternative to C++ (because it only supports a fraction of the C++ features). Neither is the optimization done by the available Oberon compilers comparable to what we see in C++ compilers, not even in 1997.
评论 #34512497 未加载
评论 #34515841 未加载
评论 #34509918 未加载
评论 #34515665 未加载
ThinkBeatover 2 years ago
Pascal is a great alternative to C. It is practical for writing operating systems. Though its use for this has declined if not vanished.<p>Most think of it as a &quot;basic tinkering and learning&quot; language, and indeed, that is probably the most common application. It does not have to be. [1]<p>UNIX came with C, and C became &quot;IT&quot;.<p>[1] <a href="https:&#x2F;&#x2F;wiki.freepascal.org&#x2F;Operating_Systems_written_in_FPC#:~:text=Other%20operating%20systems%20written%20in,based%20operating%20system%20from%20scratch" rel="nofollow">https:&#x2F;&#x2F;wiki.freepascal.org&#x2F;Operating_Systems_written_in_FPC...</a>.
评论 #34514302 未加载
评论 #34512892 未加载
mikewarotover 2 years ago
Turbo Pascal&#x2F;Delphi&#x2F;Free Pascal evolved since Pascal, and cover quite a bit of the feature set of Oberon, as far as I can tell.<p>The main improvement I see is the implied handling of multiple statements in an if-then-else-end. It seems like it would eliminate a lot of begin&#x2F;end pairs, so I like it.<p>Wirth&#x27;s decision to revert to Case sensitivity was a bad one.<p>With the exception of replacing &quot;Uses&quot; with &quot;Import&quot;, it looks identical to Free Pascal&#x2F;Delphi.
评论 #34514564 未加载
评论 #34516510 未加载
pjmlpover 2 years ago
For screenshots of what it feels like to use an Oberon based OS, see<p><a href="http:&#x2F;&#x2F;progtools.org&#x2F;article.php?name=oberon&amp;section=compilers&amp;type=tutorial" rel="nofollow">http:&#x2F;&#x2F;progtools.org&#x2F;article.php?name=oberon&amp;section=compile...</a>
dangover 2 years ago
Related:<p><i>Oberon-2, a high performance alternative to C++ (1996)</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13734438" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13734438</a> - Feb 2017 (2 comments)<p><i>A basic forking server in Oberon-2</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11627697" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11627697</a> - May 2016 (36 comments)<p><i>Oberon-2, a hi-performance alternative to C++ (1996)</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=3361469" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=3361469</a> - Dec 2011 (18 comments)
fortran77over 2 years ago
Someday Rust will go the way of Oberon.
评论 #34513565 未加载
评论 #34525913 未加载
评论 #34515033 未加载
评论 #34514270 未加载