News for hackers. Stuff that matters.
Re:Project Oberon by systemvoltage on Monday September 14, 2020 @11:08PM (#24477536)
I had no intention to belittle the complexity, monumental effort and almost impossible to imagine amount of man hours that would go into this - it was purely a thought experiment.

Do you really think that it would be less thought out if we have lots of resources and smart people? I feel optimistic that we can bake in the lessons from the past and improve on existing layers/stack/protocols.

Re:Project Oberon by prerok on Tuesday September 15, 2020 @02:12AM (#24478344)
I think it is a nice thought experiment but exactly Oberon project shows that even a few smart people really can't be expected to create useful solutions. Have you seen the filesystem? It's been a really long time for me when I looked at it but as far as I recall you had to create a partition for each directory, essentially forcing you to anticipate the size of each directory you create. So, yes, it's a nice system to run in a virtual machine, you can learn a lot about how an OS is built. As for useful... not really.

If we had lots and lots of really smart people working on a new version of everything, though, my guess is that we would end up with pretty much the same stuff we have today. As another commenter said, a lot of software projects doing next gen rewrites from scratch fail. The reason is simple: they focus on solving painpoints and forget about the areas that were neatly addressed by the previous architecture.

The best approach IMO is to address the painpoints by refactoring them properly into the architecture. That is often very complex on its own but still has the best chance of succeeding.

Re:Project Oberon by oh_sigh on Monday September 14, 2020 @11:22PM (#24477602)
I think the problem is that, even if you end up getting a proof of concept that attracts others, and they end up being 100x as productive as people using the Old Way, you will still be outpaced because the Old Way has 100,000x as many people working on it as there are on the New Way.
Re:Project Oberon by divbzero on Tuesday September 15, 2020 @02:01AM (#24478294)
The odds are stacked against any specific New Way from taking hold.

But we can also invert our perspective and ask: Will there a dramatic shift to a New Way in the next half century? Since 1970 there have been at least 3 major transitions in how people work with technology, it’s easy to imagine more will come before 2070.

Re:Project Oberon by random314 on Tuesday September 15, 2020 @05:18AM (#24479316)
what are the 3 major transitions?
Re:Project Oberon by divbzero on Tuesday September 15, 2020 @03:28PM (#24485675)
The three I would pick are:

1. 1980s – 1990s Mainframe to PC

2. 1990s – 2000s PC to Web

3. 2000s – 2010s Web to Mobile

In each of these transitions the software written for the Old Way was incompatible with the New Way.

(There have also been shifts in data storage and network protocols that others might point to as major transitions.)

Re:Project Oberon by pfarrell on Monday September 14, 2020 @11:41PM (#24477678)
It's a good thought experiment, for sure. Do you have ideas of different directions for something fundamental? Outside the design of the computer system, I'm thinking about the problems we currently face with identity and trust. Maybe that's something that gets baked into a ground up reimplementation of TCP/IP.
Re:Project Oberon by systemvoltage on Tuesday September 15, 2020 @01:38AM (#24478186)
I have. I think about UI a lot. I would love to see flat UI, not "flat" in aesthetic sense, but flat in hierarchical sense. Like photoshop menus, fighter jet cockpits, control panels and 90's porsche dashboards - give me a dedicated button exposed upfront. Laid out in logical fashion spatially - a tool bar group for all things audio, another one for display, and yet another one for devices. Ofcourse when number of items are dynamic, dropdowns are ok or another popup window is fine. No icons. Only text (sometimes abbreviated like CTRL PANEL).

IMO hierarchical deep menus are logical but they take up precious time when you need to do that action 80 times a day. Same benefits can be obtained by well designed layout (with borders, background colors and proper labels).

Most people would find that dauting. I think hiding stuff behind menus is not a good idea even though on surface it might feel like making it less complex. In fact, the complexity is the same, just visual clutter is reduced. I argue that we're really good at looking at visual clutter, my professor's desk is a good example of that.

Re:Project Oberon by thu2111 on Tuesday September 15, 2020 @12:03PM (#24482831)
There's a lot of scope to simplify the developer stack. The web was never meant to be used for apps and it shows, badly.

For the operating system layers, if you build a machine that doesn't expose an ISA, in which all code is run via a polyglot VM like the GraalVM/JVM, then you can more easily design a competitive CPU because suddenly you can use flat, direct physical address space mappings with an ISA that is throwing out old instructions whenever you need to. No need for an MMU, TLBs and all the other page table walking logic, IPC can be drastically simplified.

Singularity / Midori was the most complete exploration of this concept, by Microsoft Research. Unfortunately they kind of went down a few bad R&D paths, in particular, by trying to match the performance of C++ code and relying too much on formal methods - i.e. all stuff interesting to implementors - instead of researching things interesting to developers.

That's why the right way to re-invent computing is top down, not bottom up. Take an existing Linux distro and start to replace bits one step at a time, starting with the desktop environment, the app and data models, network protocols etc. But all the drivers and filesystem goop remains the same - limited potential for innovation there. That said, if you want to, these days you can reimplement drivers in userspace using whatever framework you like, reducing Linux to basically a fat microkernel.

Re:Project Oberon by divbzero on Tuesday September 15, 2020 @01:44AM (#24478222)
Yes, it’s the classic “Should we do a complete rewrite?” question blown up to an epic scale. The answer is usually “no” or “rewrite one layer” but their are times when things aren’t modular enough or the fundamental architecture is lacking.
Re:Project Oberon by loopz on Monday September 14, 2020 @11:23PM (#24477608)
As long as it's all Node.js, we'll be safe! ;)