1. 11

  2. 4

    I submit that the Linux kernel, or X.org, or a number of other relatively discrete components are far too large and complex to be understood by a single person. This is true of most OSes, even historically going back decades. 

    But there is such a system.

    It is admittedly obscure but it’s out there, it’s FOSS, it runs on modern hardware (and as a self-hosted VM under all modern OSes) and it is both current and maintained.

    It is the summation of the career of one of the handful of greatest solo designers of programming languages, up there with John McCarthy, Bjarne Stroustroup, Walter Bright and Anders Hejlsberg.

    It is not a toy  –  much of Zürich university once ran on it. It has real apps and was used by non-technical staff.

    There are 2 versions. One, smaller, simpler, for uniprocessor computers, with a text-oriented UI. The other a little more complex, for SMP machines, with a zooming UI that is a little more conventional and richer multimedia support.

    The basic, older one is called Oberon, written in a language also called Oberon. The larger one is called A2, but is often referred to by the name of its GUI: Bluebottle.

    This is an excellent introduction: http://ignorethecode.net/blog/2009/04/22/oberon/

    It is the last big project of Niklaus Wirth, and is a descendant of his most famous language, Pascal, and the nearly-as-well-known Modula-2.

    1. 4

      Myself, I found that the biggest problem is not the size of the system as such, it’s knowledge of the system remaining tacit, or, worse, knowledge that was once explicit becoming tacit. Behind every line, there are some assumptions, and at some point there may be no one left who remembers if they are still relevant, or even what exactly the assumptions were. Good type systems and automated proof checking can help with it. Alas, I think dynamically typed languages can only make that situation worse.