Live data from Hacker News

Ladybird adopts Rust, with help from AI

ladybird.org

71–80 of 731 posts

Re: Ladybird adopts Rust, with help from AI

#71

A lot of the previous calculus around refactoring and "rewrite the whole thing in a new language" is out the window now that AI is ubiquitous. Especially in situations where there is an extensive test suite. Testing has become 10x as important as ever.

Well, I am on the provocative side that as AI tooling matures current programming languages will slowly become irrelevant.

I am already using low code tooling with agents for some projects, in iPaaS products.

Re: Ladybird adopts Rust, with help from AI

#72

Sigh agents keep killing all the passion I have for programming. It can do things way faster than me, and better than me in some cases. Soon it will do everything better and faster than me.

Look into platforms like Workato, Boomi, or similar iPaaS products, unfortunely it feels like those of us that like coding have to be happy turning into architect roles, with AI as brick layers.

Re: Ladybird adopts Rust, with help from AI

#73

I'm a long-time Rust fan and have no idea how to respond. I think I need a lot more info about this migration, especially since Ladybird devs have been very vocal about being "anti-rust" (I guess more anti-hype, where Rust was the hype). I don't know if it's a good fit. Not because they're writing a browser engine in Rust (good), but because Ladybird praises CPP/Swift currently and have no idea what the contributor's…

TFA mentions "the contributor's" stance on Swift.

Re: Ladybird adopts Rust, with help from AI

#74
post #18

Earlier quoted context omitted.

This is the famous trap that Joel on Software talked about in a blog post long time ago. If you do a rewrite you essentially put everything else on halt while rewriting. If you keep doing feature dev on the old while another "tiger team" is doing the rewrite port then these two teams are essentially in a race against each other and the port will likely never catch up. (Depending on relative velocities) Maybe they thi…

I’ve been part of at least 2 successful rewrites. I think that Joel’s post is too often taken as gospel. Sometimes a rewrite is the best way forward. Moving Ladybird from C++ to a safer more modern language is a real differentiator vs other browsers, and will probably pay dividends. Doing it now is better than doing it once ladybird is fully established. One last point about rewrites: you can look at any industry dis…

I still don’t buy this “safer more modern” mentality. Modern C++ pretty much solves the safety issues. People need to learn how to use tools properly.

If you ask me, Go is a better Rust. Rust is an ugly version of C++ with longer compile times and a band of zealous missionaries.

I mean the keywords mut and fn very annoying to read just get rid of them or spell the f*n thing function.

Re: Ladybird adopts Rust, with help from AI

#75
post #70

I must admit to being somewhat confused by the article's claim that Rust and C++ emit bytecode. To my knowledge, neither do (unless they're both targeting WASM?) - is there something I'm missing or is the author just using the wrong words? EDIT: bramhaag pointed out the error of my ways. Thanks bramhaag!

By 'Rust compiler' and 'C++ compiler', they refer to the LibJS bytecode generator implemented in those languages. This is about the generated JS bytecode.

Re: Ladybird adopts Rust, with help from AI

#76
post #15

> I used Claude Code and Codex for the translation. This was human-directed, not autonomous code generation. I decided what to port, in what order, and what the Rust code should look like. It was hundreds of small prompts, steering the agents where things needed to go. After the initial translation, I ran multiple passes of adversarial review, asking different models to analyze the code for mistakes and bad patterns.…

This is also how some of us use Claude despite what the haters say. You dont just go “build thing” you architect, review, refine, test and build.

> how some of us

Operative word being “some”. The issue is that too many aren’t doing it that way.

> You dont just go “build thing”

Tell that to the overwhelming majority of posters discussing vibe coding, including on HN.

Re: Ladybird adopts Rust, with help from AI

#77

> We previously explored Swift, but the C++ interop never quite got there But Rust doesn't have C++ interop at all?

Yeah, that part doesn't make much sense to me. IMO, Swift has reasonably good C++ interop[1] and Swift's C interop has also significantly improved[2] since Swift 6.2.

[1]: https://www.swift.org/documentation/cxx-interop/

[2]: https://www.swift.org/blog/improving-usability-of-c-librarie...

Re: Ladybird adopts Rust, with help from AI

#78

> We’ve been searching for a memory-safe programming language to replace C++ in Ladybird for a while now. The article fails to explain why. What problems (besides the obvious) have been found in which "memory-safe languages" can help. Do these problems actually explain the need of adding complexity to a project like this by adding another language? I guess AI will be involved which, at this early point in the project…

Browsers are incredibly security-sensitive projects. Downloading untrusted code from the internet and executing is part of their intended functionality! If memory safety is needed anywhere it's in browsers.

Re: Ladybird adopts Rust, with help from AI

#79
post #70

I must admit to being somewhat confused by the article's claim that Rust and C++ emit bytecode. To my knowledge, neither do (unless they're both targeting WASM?) - is there something I'm missing or is the author just using the wrong words? EDIT: bramhaag pointed out the error of my ways. Thanks bramhaag!

They're referring to LibJS's bytecode (the internal instruction stream of Ladybird’s JS engine), not to Rust/CPP output formats.

Re: Ladybird adopts Rust, with help from AI

#80

I'm a long-time Rust fan and have no idea how to respond. I think I need a lot more info about this migration, especially since Ladybird devs have been very vocal about being "anti-rust" (I guess more anti-hype, where Rust was the hype). I don't know if it's a good fit. Not because they're writing a browser engine in Rust (good), but because Ladybird praises CPP/Swift currently and have no idea what the contributor's…

> Ladybird praises CPP/Swift currently

Not anymore.

https://news.ycombinator.com/item?id=47067678

Post reply on HN