Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Wirth is one of my biggest influences. I was just inspired by this post to finish a short little draft I had sitting around about Wirth as an influence, and the Oberon language report. Oberon-07 is defined in a 17 page document that is simplicity itself. Of that, about 2 pages is EBNF (Wirth published the first EBNF variation too...) for Oberon, and the rest is easily accessible prose...

Unlike most languages, Wirth's languages have gotten simpler, but more powerful, from generation to generation. His greatest legacy to me is his focus on engineering vs. science in programming language design. He's never been concerned with adding the latest and greatest features, but on what is proven, and what has a well understood means of efficient implementation.

This is both the beauty and elegance of his language designs, and in some ways probably his "downfall" in terms of getting credit outside of quite small circles:

Wirths languages are not "sexy". They're stripped down and bare. Their implementations are not sexy - they're stripped down and bare: Simple recursive descent parsers with direct code generation (most, or possibly all, of his compiler implementations output code without generating an AST at all) and minimal optimization - focusing on being easy to understand and modify, predictable, and fast, rather than on producing the fastest possible code.

But that's what makes him stand out as a beacon of programming language engineering. We need the fancy, sexy languages and implementations too, but "Wirthian" languages and compilers are an important counterpoint.

(The blog post is here: http://www.hokstad.com/oberon)



@vidarh I was going to write a post, but you already wrote it. It's a great shame that many young programmers I meet think they need the noise of c# to pull off some good code. M2 with so few keywords, excruciating compile time checking, a great module system for the time, and beautiful green threading was just a joy to work with. It encouraged good engineering practice that helped me become a complete sme on the apps I created because I could keep so much more of the flow in my head than with my comparable experience with other languages. Golang has certainly rejuvenated my enjoyment of programming because it helps me recreate some of those experiences I had with M2.


If you want to have a look how Oberon systems looked like, have a look here,

http://progtools.org/article.php?name=oberon&section=compile...


Is the Oberon-07 derived from ETH Zurich or from the split of Oberon v4 development of JKU Linz? http://www.ssw.uni-linz.ac.at/Research/Projects/Oberon.html

The EBNF is great. I learned the Wirthian compiler engineering from a Prof. who was a former colleague of Wirth.


The language spec is actually based on refining the original Oberon, rather than any later versions. I don't know which code base his implementation was started from - there are so many to pick from..


The link to the PDF you're talking about on that article appears to be busted. :(


Based on the file name at least, this looks like it: http://www.inf.ethz.ch/personal/wirth/Oberon/Oberon07.Report...


Oops. Thanks for catching that. My draft had been sitting around too long - the URL used to work.. (fixed)




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: