[Oberon] Oberon for a C++ user.

Skulski, Wojciech skulski at pas.rochester.edu
Fri Oct 7 19:17:22 CEST 2016


Chris:

you wrote:

> That means you slow down the common case 
> to make the unloading easier which does not
> happen often and is not time critical.

I do agree that code unloading is infrequent and it needs not be time critical. At the same time, I insist that code unloading needs be robust. It should not lead to system instability. Also note, that the user needs not be a developer to unload the code. A regular user can unload by accident while interclicking the mouse. Or the user may want to unload code after being done with an application, in order to make space for another application. 

Unloading code from memory is the most common thing under any operating system. For example, after I finish typing this message, I may want to close Firefox. I would be very disappointed if Firefox stayed locked in RAM alongside with Word, PowerPoint, and a dozen other apps which I used today. I rather expect these apps to go away, so I can open other apps. I would be even more disappointed if Windows became unstable after closing Firefox. I would call it "an egregious bug" in either Windows or Firefox. In fact, in both, because neither Firefox is expected to cause Windows instability, nor Windows should allow it to happen.

The only practical difference between the Oberon System and other OS's is that unloading the Oberon application happens on demand. Otherwise it is just the same. Under Windows/Linux, the user clicks the "Exit" button and the app gets unloaded. Under Oberon, the user clicks on System.Free. (Which can be hidden under a button, as Markus Knasmueller did in his Dialogs). Is there any difference between unloading Firefox and unloading an Oberon module? I would say "no". Unloading code is one of the most fundamental actions with any computer.

The only difference seems to be that we call system instability a bug under Windows, and a feature under Oberon. And this is backwards in my opinion. We need to make unloading robust and safe, rather than trying to convince ourselves that it is an infrequent nuisance that does not need to be robust.

Just my 2 cents.

W.


More information about the Oberon mailing list