Tech News
← Back to articles

Notes on Project Oberon

read original related products more articles

Notes on Project Oberon

Update (Jan 2, 2025) Expanded on a few thoughts.

I recently read the first part of Project Oberon's book. Two things caught my attention in that document, and I want to share my thoughts about them here. Digression I thought that was everything to read about it until I wrote this post, and then saw there are a couple more parts, which are now on my reading list, so this post will be only about the first part linked above.

On abstractions

The document has this to say about them:

Abstraction is indeed the key of any modularization, and without modularization every hope of being able to guarantee reliability and correctness vanishes.

On a first read, this seems logical. I'd guess that for most people writing software this seems logical too. However, I've been doing some thinking on abstractions for a while, and I concluded that abstractions actually prevent us from guaranteeing reliability and correctness at the level of the whole system.

The key property of an abstraction is to hide certain implementation details so people can work with them using a standard interface (that of the abstraction). The document also agrees with this:

Every abstraction inherently hides details, namely those from which it abstracts.

This means that as long as we view a system only through its abstractions, we can indeed guarantee some degree of reliability and correctness.

... continue reading