Nice to see. The only thing that would meaningfully set it apart from the others would be to have a core that isn’t a big ball of C++. That would potentially allow it to be developed and maintained with less resource than the other browsers, and that would be the only way this ever reaches any kind of impact.
It is. They realized that writing a modern browser (i.e. one that for example uses multiple cores efficiently by doing layout/rendering/etc in parallel) is almost impossible in C++. To the point where creating a whole new language just to solve the problem would be a smaller undertaking. Which says something about the scope of this problem. And I really do think they are right.
> writing a modern browser (i.e. one that for example uses multiple cores efficiently by doing layout/rendering/etc in parallel) is almost impossible in C++
C++ also happens to be the only language in which that has been accomplished, so far. (The Rust components are relatively smaller, about 11% according to sibling comments.)
Why is it almost impossible? I'm a little out of practice with C++ but I thought the modern C++ features were considered pretty solid in regards to memory safety and the like?
c++ isn't memory safe and will probably never be. that being said, it's not more or less possible to create an efficient browser engine for multicore systems with c++ than any other language. programming language is not the thing that makes the task difficult.
> They realized that writing a modern browser (i.e. one that for example uses multiple cores efficiently by doing layout/rendering/etc in parallel) is almost impossible in C++
And yet Chrome does it just fine, and Ladybird can render some websites properly that Servo cannot, curious.
No, Chrome doesn't eg. do style computation with a parallel algorithm like Firefox does since it adpoted Servo's style resolution engine. See how faster it is: https://nolanlawson.github.io/css-talk-2022/#70
Servo's rendering issues are a different class of bugs unrelated to performance: they are still working on the layout parts.
Performance is overrated and irrevelant. It's simple force - not a skill. I can't do in more performat Firefox, neither it doesn't matter how performant Chromium, things that was possible in Firefox with old extensions. Not having such abilities, the only thing left to Google to talk about was.. performace - and crippling powers of Firefox. Rust is a new skill, not more of force.
Another skill, inconvinient, forbidden and forgotten ( * * * that I wish Ladybird will have * * * ): plugins - so I have A Browser For All Documents that can play every video format regardless of web video codec support or licencing etc. (with vlc, mplayer, whatever).
Neither Javascript shall be needed to see anything on the Web - if not being essential for tracking and ads
- but it's you who have to pay for it with that threadrippers (and no access to source data) ? Yes, it happend people are rich enough to belive that.
Making things simple and possible is the most important skill.
Check out this comment: https://news.ycombinator.com/item?id=40862781. While it's certainly possible to write the same parallel algorithm in C++, it wasn't done in Firefox before Rust, nor has it been done in Chrome.
But you can implement the same algorithm in c++, you can even implement it in assembly, or brainfuck!
I do not care about c++ or rust or any of the language wars stuff. All I wanted to do was point out that the initial statement about disregarding performance was ridiculous and also point out that majority of the performance critical libraries are written in C++.When it comes to numerics its a mix of C++, C, asm, and fortran.
Use your brain not mine, read and repeat. You can't measure performace of something if it's not possible to do that at all first. Like.. of your understanding till you do - then you can work on it (to make it less noisy and that, not how fast, is what for others matter).