<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">> Something is successful to the extent that it achieves its stated</span></font><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">> aims. </span></font><span style="white-space: pre-wrap; font-family: monospace;" class="">I have used Oberon since (I think) the late 80s or early 90s,</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">> and I don’t think I’ve ever seen what you are describing stated as</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">> one of its aims, by its authors.</span></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">That is of course correct. These were not the stated goals. I have</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">known </span></font><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">Oberon </span></font><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">since </span></font><span style="white-space: pre-wrap; font-family: monospace;" class="">1988, and for as long as I can remember, one of</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">its </span><span style="white-space: pre-wrap; font-family: monospace;" class="">main goals was to convincingly </span><span style="white-space: pre-wrap; font-family: monospace;" class="">demonstrate that an entire OS can</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">be </span><span style="font-family: monospace; white-space: pre-wrap;" class="">built in a high-level, completely type-safe language, such that it</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">can not </span><span style="white-space: pre-wrap; font-family: monospace;" class="">only be </span><span style="white-space: pre-wrap; font-family: monospace;" class="">understood by a single person in all its gory details,</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">i.e. really down </span><span style="white-space: pre-wrap; font-family: monospace;" class="">to the last bit, </span><span style="font-family: monospace; white-space: pre-wrap;" class="">but that is so simple (yet powerful)</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">that it </span><span style="font-family: monospace; white-space: pre-wrap;" class="">can be described - again in </span><span style="white-space: pre-wrap; font-family: monospace;" class="">all </span><span style="white-space: pre-wrap; font-family: monospace;" class="">its details (i.e. including</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">the full </span><span style="white-space: pre-wrap; font-family: monospace;" class="">source code) in a single book. </span><span style="font-family: monospace; white-space: pre-wrap;" class="">By that definition, Oberon</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">has definitely </span><span style="font-family: monospace; white-space: pre-wrap;" class="">achieved its goals. And I know of no other comparable</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">effort </span><span style="font-family: monospace; white-space: pre-wrap;" class="">in the history of software engineering (apart, perhaps, from</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">some of the very </span><span style="font-family: monospace; white-space: pre-wrap;" class="">first versions of Unix back in the early 1970s and</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">later Minix, which also fitted in </span><span style="font-family: monospace; white-space: pre-wrap;" class="">a single book, with included the</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">full source </span><span style="font-family: monospace; white-space: pre-wrap;" class="">code (but..dare I say it, these systems are written in C)</span></div><div class=""><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">
> What I have seen is the ideas of Oberon increasingly, and often</span></font></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">> explicitly, </span><span style="white-space: pre-wrap; font-family: monospace;" class="">adopted by more mainstream languages, such as Java, </span><span style="white-space: pre-wrap; font-family: monospace;" class="">Go,</span></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">> C#. </span><span style="white-space: pre-wrap; font-family: monospace;" class="">So it has at </span><span style="white-space: pre-wrap; font-family: monospace;" class="">least been a very influential language / </span><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">system,</span></font></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">> and while the languages </span><span style="font-family: monospace; white-space: pre-wrap;" class="">cited may fall some way short of the jewel-</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">> like perfection of Oberon, at least they are significant improvements</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">> on most their predecessors, thanks to Oberon.</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class=""><br class=""></span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">That too is correct. And it is of course no surprise that in some of</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">these </span><span style="font-family: monospace; white-space: pre-wrap;" class="">efforts, former students of Prof. Wirth were/are involved. Just</span></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">read the Go language report for example. If one didn’t know, one mistake</span></font></div><div class=""><span style="white-space: pre-wrap; font-family: monospace;" class="">it with the Oberon report.. until you get to the syntax part of it. So</span></div><div class=""><span style="font-family: monospace; white-space: pre-wrap;" class="">there definitely is some strong influence here. C#, but also Swift, have</span></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">all adopted what is usually called “safe programming pattern”.</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">I still that an Oberon-style language could now be there in place of,</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">say, C# or Swift. It is not, and that’s a pity - no matter what its</span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class="">original goals were.</span></font></div><div class=""><br class=""></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font></div><div class=""><font face="monospace" class=""><span style="white-space: pre-wrap;" class=""><br class="Apple-interchange-newline"></span></font><br class=""></div></div></body></html>