Pwning the Ladybird browser

1 Like

To be expected, not even in public alpha, just pre-alpha

3 Likes

ftfy

3 Likes

They are switching to Swift, because it is memory-safe but easier than Rust

Which language is Trivalent written in, again?

Chromium uses C++

so is memory safety the real culprit or we just need more time?

is rust even a viable option to things like browsers?

Prob should ask in Ladybird Discord server lol.

rust was initially started/sponsored at mozilla and later developed in tandem with servo

2 Likes

Servo is being written primarily in Rust and it’s development is further along than Ladybird iirc.

Rusts history also seems quite intertwined with web browsers (beyond just being a Mozilla project) the below comes from the Rust Wikipedia article:

[At Mozilla] Brendan Eich and other executives, intrigued by the possibility of using Rust for a safe web browser engine, placed engineers on the project including Patrick Walton, Niko Matsakis, Felix Klock, and Manish Goregaokar.

Skipping ahead:

The development of the Servo browser engine continued in parallel with Rust, jointly funded by Mozilla and Samsung.

The teams behind the two projects [Rust and Servo] worked in close collaboration; new features in Rust were tested out by the Servo team, and new features in Servo were used to give feedback back to the Rust team

2 Likes

Right now, the Ladybird team is waiting for the Swift team to do some stuff before they move over

Ladybird is really happy that there may be competition with Servo (however the CEO remarks that Rust application in browsers seems to be kind of unnatural, that’s why Ladybird chose Swift)

They said that they researched memory-safe languages* and at the end it was Rust vs Swift. If I recall correctly, they said swift was more friendly (less difficult to code), esp for c++ devs.

It might also be because swift can interact better with C++, but don’t quote me on this.

*From 2 minutes of research, Swift is an “optional” memory-safe language meaning it has memory-safe features, but you have to choose to use them.

Not sure what you mean. Swift is memory safe by default swift-evolution/visions/memory-safety.md at e6c9a89bb1dcf2c555a657d71bf6aebd09d1a5e2 · swiftlang/swift-evolution · GitHub

It can be used unsafely, like Rust, but you can prevent this with swift-evolution/proposals/0458-strict-memory-safety.md at e6c9a89bb1dcf2c555a657d71bf6aebd09d1a5e2 · swiftlang/swift-evolution · GitHub

1 Like

Good then

Didn’t say wasn’t possible, but might be harder. If devs have experience please come out.