The independent Ladybird web browser project is changing course on its choice of programming languages, with LLM-based coding assistants helping to evaluate the shift.
The latest blog post from the project spells out what’s happening in its title: “Ladybird adopts Rust, with help from AI.” The post also blames a delay in its development of around a year on its attempts to use Apple’s Swift programming language, and one of its GitHub issues says that’s history. For now, work continues in C++, with a side project porting subsystems to Rust running in parallel.
The Ladybird project is writing a modern web browser, including its rendering engine, from scratch. That’s a big undertaking; there are very few such projects around. Aside from some niche tools, all mainstream browsers boil down to three basic families. Mozilla’s Firefox, based on Mozilla’s own Gecko rendering engine is one. The other two are related to each another. On Apple OSes, Safari is based on Apple’s WebKit engine, which originated as a fork of KDE’s KHTML in 2003. On other platforms, there’s Google Chrome, which uses the Blink engine that Google forked from WebKit a decade later.
Ladybird started out as the built-in native web browser of the Serenity OS project, which we tried out and wrote about in early 2022. About 18 months later, the Serenity OS project turned five, and lead developer Andreas Kling decided to spin out the browser as a separate, standalone cross-platform program.
Serenity OS is a new Unix-like OS. Unlike Linux or the BSDs, it is implemented in C++, meaning Ladybird is as well. Back in 2024, Kling announced on X that the browser project was changing course to use the relatively new Swift programming language instead. Apple announced Swift in 2014 and the next year pledged that Swift 2 was to be open source – and thus cross-platform.
Ladybird’s dalliance seems to be very much over, though. Kling closed its issue #933 Swift 6.0 Blockers last week, with the comment:
Now he’s talking about the reasons why. In the Rust announcement, he says:
Instead, “Going forward, we are rewriting parts of Ladybird in Rust.” The post continues:
How the choice was made may raise some eyebrows, though. He chose to use LLM-powered coding assistants to translate the C++ code into Rust, and then closely check that the structure of the resulting code matched the original and that it produced identical output. He chose to start with Ladybird’s JavaScript interpreter because it’s fairly self-contained, its stages and output are clearly defined, and it has good test coverage thanks to the ECMAScript Test Suite.
This was not an exercise in “vibe coding,” as he carefully explains:
The results certainly sound impressive:
The approach of using LLMs to translate software from one language to another, in pursuit of better safety – as well as performance, code size, and other desirable properties – is one we idly speculated about ourselves back in 2024. It’s almost the opposite of the hands-off let-the-bot-do-it approach of the vibe coding horde.
Kling notes that the result isn’t idiomatic Rust and it will need polishing. This is not the project’s sole new direction:
It’s an interesting exercise, and one we suspect will irritate as many people as it pleases. Kling is no stranger to controversy. For example, he’s been accused of transphobia because he refused changes to make the language of the Serenity OS documentation more gender-neutral, among other things. It’s also received sponsorship from Cloudflare – at other times no friend to minority browsers. For some, these things are enough to condemn the project, along with the Omarchy Arch-based Linux variant, the controversy around which The Register has discussed previously.
Bootnote
As an amusing footnote, in our piece on LLM code translation, we linked to a post by programming blogger Steve Yegge. He has recently gone all-in on farms of bots supervising bots in what he has dubbed “Gas Town,” complete with a newfound enthusiasm for paying for the tokens with cryptocurrencies. As ever with Yegge’s blog posts, they are both long and quite deep, but this time, we would like to stress that we are not recommending you read them. We’re not at all sure they are worth your time. Rusty Foster’s critical assessment, “All Gas Town, No Brakes Town,” might be, however. ®






