Brutal OS reached milestone 4
brutal.smnx.sh
brutal.smnx.sh
[1] https://gitlab.gnome.org/GNOME/pango & https://github.com/harfbuzz/harfbuzz
[2] https://www.amazon.co.uk/CJKV-Information-Processing-Ken-Lun...
Modern as in C11?
> BRUTAL is built on top of a capabilty based micro-kernel.
Their own, or somebody else's? Why can't they just say which?
> BRUTAL targets x86_64, i686, RISC-V and ARM.
Ok, a decent set of targets, certainly for starting out with.
> BRUTAL exposes its features to developers through clean APIs.
Which are listed where?
> BRUTAL features a rich and modern C library complete with fibers, custom allocators, generic data structures, and more...
Did they reimplement the entire C library? Added a backed/port for an existing library?
I like Brutalism in design, don't like Minimalism in documentation.
https://duckduckgo.com/?q=brutalism&t=ffab&iar=images&iax=im...
> Modern as in C11?
As in bleeding-edge C23
> Their own, or somebody else's? Why can't they just say which?
Our own
> Which are listed where?
We have a Doxygen doc but it's not published yet.
> Did they reimplement the entire C library?
Yes
Hopes this answers your questions
You figure you'll keep with the bleeding edge C standards for the future?
Also, if someone wanted to build compatibility layers out to other FOSS OSes into the system somewhere would that be tolerated? For example drivers from other OSes could massively improve quality of life and usability.
> As in bleeding-edge C23
Well... looking at what's coming C23: https://en.cppreference.com/w/c/23
I see mostly syntactic sugar and a few adoptions from POSIX; and C17 didn't change much either. So, for me, this is basically C11 - which I still find very modern and does not seem that widely adopted TBH. So good on you. (But make sure to support code in older C standard versions.)
Also, I doubt that it is really a good idea to reimplement libc. I would assume taking on even more work than the already huge effort that is an OS would either slow you down or reduce quality. IIRC, when Linux got started, Torvalds ported gcc along with glibc and also bash. Could you explain your choice of a different direction?
Or, perhaps at worst, it probably makes the developers very aware of how the current *nix flavors could be improved from the lowest levels on up.
Also the C code is pretty interesting, I like that its built up result types and generic types but also in c, very cool, if not a little bit wild :)
Glad to see new OS design in 2022!
Any chance of bringing in Plan9 type ideas/concepts? Ie being able to mount remote compute resources similar to mounting file systems in UNIX? (As the one real plan9-ism in mind at the moment.)
I was a little surprised that a compiler was in scope given the amount of other work that needed to be written and (hopefully) supported, though I guess that's a different issue.
At that point, why not just use Rust?
I don't see why it's some sort of requirement.
My question though was more about rust as a language. Does it have a golden standard introduction to it like C does. Not 'some sort of requirement', but genuine interest in a clear path to learn the language.
You'd have to be specific. If you are looking for simplicity, nothing will ever beat C, but just because a languague is simple doesn't mean it's easy to program. See Brainfuck.
Generally Rust Book is considered a gold standard, but I rarely read them unless I am truly at a loss what next.
You can implement it and it's a bit harder in Rust https://rust-unofficial.github.io/too-many-lists/index.html
The C standard working group is currently debating whether to add lambdas to the language:
Given KenC, I was amused to see that Brutal has its own C variant too!
https://blog.adafruit.com/2021/12/13/project-sphinx-when-the...
I wonder where we would be now if that had gone according to plan.
https://www.reddit.com/r/DesignPorn/comments/ei1pa8/sphinx_s...
They're not only redesigning the OS, they're also redesigning the calendar (and font kerning too, it seems)
I wish they prove me wrong.
It as already has some neat feature like C2json
But we should not get ahead of ourselves, let's wait for them to fully self-bootstrap 'brutal' with their toolchain.
https://www.inexhibit.com/case-studies/project-sphinx-when-t...