3 ms·
> we have almost half a million lines of modern C++ to maintain. ...We are actively evaluating a number of alternatives and will be adding a mature successor la
by wwwwwwwweb 2y ago
> we have almost half a million lines of modern C++ to maintain. ...We are actively evaluating a number of alternatives and will be adding a mature successor language to the project in the near future. This process is already quite far along, and prototypes exist in multiple languages.
What languages have prototypes and where can I learn more?
- awesomekling 2y agoWe have not been debating this publicly as it has a 100% chance of devolving into a bikeshed discussion :)
- kamov 2y agoWhatever language you end up choosing, I hope it will be a memory safe one. Browsers' main purpose is to interact with the outside world, and they even have to run third party code (JS) all the time, so minimizing attack surface would go a long way I think
- awesomekling 2y agoYes, our next language will be a memory safe one.
- ArtixFox 2y agopls pls pls go for one of those languages with some level of formal verification! it'd be soo cool to see a formally verified browser! But, ladybird is one of the coolest things I saw in 2024!!!
- ykonstant 2y agoClearly there is a furious internal war between CLispers and Haskellers!
- ledgerdev 2y agoMy favorite type of discussion! Language choice would seem super important long, long term and could provide long run advantage over other engines. Given the goals and philosophy of Ladybird zig seems like a complementary choice, and headed in the same direction in terms of community and freedom. And Perhaps just a sprinkle of something more verifiable than zig on the edges where correctness and safety are super critical. Have a look into tigerbeatle (https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/TIGER_STYLE.md https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/TI...) and their philosophy.
- stephen_g 2y agoI wonder if they are thinking Swift - their C++ interop is still pretty new and has a way to mature, but it’s designed for exactly this [1] (we should expect Apple to start doing it with WebKit and other big C++ projects, even perhaps LLVM). 1. https://www.youtube.com/watch?v=lgivCGdmFrw https://www.youtube.com/watch?v=lgivCGdmFrw