I am at the stage that I am more than happy to rewrite whatever it takes to get better experience. This includes the OS. I think we have sacrificed too much on the altar of backward compatibility. I guess I am just tired of breakage because a file has a space in its name.
Hey, no cheating -- one that has a substantial baggage of applications on top of it. A research kernel is something you can do in one year working with a few dedicated undergrads. But then so is pretty much every single thing running on top of it. It looks easy until you figure out how much work gets into properly writing a PNG decoder or a PDF viewer. It's not fun, even in a memory-safe language.
I admire your optimism and I, too, wish we'd leave this POSIX hellhole behind us (and I'm fond of this POSIX hellhole!) but I think at this stage in the story of computers, it's no longer realistic.
I think the "POSIX hellhole" is really just the Linux hellhole; there's no reason the underlying implementation or the desktop on top of it needs to be that way (and Haiku is more or less succeeding at being POSIX and not a hellhole :)
Oh yeah, don't get me started on the Linux hellhole :). I like Haiku (in fact I keep putting off that weekend when I'll try my hand at fixing a bug or writing a new app for it, because I really liked BeOS back in the day, too). A lot of it isn't even POSIX' fault, it was just abused by things built on top of it, and now you can't use those things without making a mess.
I know a lot of it like the back of my hand, I've been writing POSIX code (or, at one point, POSIX implementations) for much, if not most of my career. That doesn't mean I don't want to see something better, or that I'm blind at the fact that Plan 9 is so fun to code for precisely because they skipped POSIX (although, that being said, I'm also not blind to the fact that it's on of the big reasons why it never really took off, either).
Totally agree with you. Now the real question, do you need to implement PNG decoder and PDF viewer? Or you need to design alternatives that are far more safe to implement?
Everyone has different criteria for what a new and improved OS needs. Some say make it safer. Some say it must be much simpler. Others say why is it so inefficient, make it faster and focus on mixed level languages. Nobody can agree and nobody needs any of these badly enough to effect a real change. So we have these brainstorms every year and the work that comes from them never gets far.
> Now the real question, do you need to implement PNG decoder and PDF viewer?
If you ask me, no, but that's because I remember (and not very fondly) an age when it seemed like we'd have a new arbitrary code execution bug in a PNG or JPEG or PDF decoder every week. I don't really wanna go through it either.
Edit: Lots of people don't remember (or don't know about) that period and think writing an OS and all the boring stuff that goes with it is easy. Four or five years and it should be all done, eh?
That's also why we got things like the security community, which is full of enthusiastic people and big companies that know exactly what OpenSSL needs and how it should be written. But when it comes to sitting down and doing it, or committing the money, the crowd gets awfully small. Foundational software isn't too glamorous, and writing things like a PNG decoder is pretty boring, too.