We’ve been searching for a memory-safe programming language to replace C++ in Ladybird for a while now. We previously explored Swift, but the C++ interop never quite got there, and platform support outside the Apple ecosystem was limited. Rust is a different story. The ecosystem is far more mature for systems programming, and many of our contributors already know the language. Going forward, we are rewriting parts of Ladybird in Rust.

Porting LibJS

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.

top 50 comments

sorted by: hot top controversial new old
[–] 92 points 5 months ago* (4 children)

"We want rust for safety. That's why we made the code in the most unreliable way to code known to humanity".

Not surprising from the devs that think that not being a fascist is political I guess

Edit : ah apparently the guy is not trying to be an enlightened centrist anymore and is a full-on nazi. Heh, who could have guessed? /s

  • source
  • hideshow 8 child comments
  • [–] 22 points 5 months ago (1 child)

    Woah wait what? The “let’s vibecode it” angle is fucking stupid, to be clear, but I was unaware of that user drama. Very interesting.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 8 points 5 months ago (1 child)

    Got a source for that? I tried searching on DDG but couldn't find anything

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 7 points 5 months ago* (last edited 5 months ago) (3 children)

    I will copy my comment here:

    Just so you know, Drew DeVault is a pedophile apologist. He cannot even remotely be considered a reliable source of information.

    However, I completely agree regarding the use of AI, especially in a project such as a browser engine.

    EDIT: I accidentally replied to this comment instead of the one with the link to Drew DeVault's blog. My bad.

  • source
  • parent
  • hideshow 6 child comments
  • [–] 5 points 5 months ago*

    That is appalling, and I don't mean to diminish the importance of this, but if the claims on fascism stand to scrutiny then it's not relevant, and if the claims don't stand to scrutiny they can be easily refuted.

    Edit: and to be clear, I know DHH, I've read his blog and his social media activity, he's clearly a fascist.

  • source
  • parent
  • [–] 2 points 5 months ago

    When they don't seem to know what definition the person is using for the word after writing an actual and seem confused why some of the quotes are against sexual abuse of 14 year olds, it's sorta hard to take their claims serious. IF DD's point is just people with the sexual preference deserve pity, then I agree. Just in the same way I think people with problems such as gambling or drug addictions should be pitied - it's not something they've chosen and it negatively effects their quality of life. Otoh, I don't think a gambling addict, for example, should be forgiven if they bankrupt their family and cause their children to grow up in poverty unnecessarily. Otoh, it it's a history of defending child abuse, then agreed there should be some discounting going on (but that seems the opposite of the quotes provided).

    Either way, isn't the record for ladybird stuff in the git repo or something like that? Doesn't really matter what the source is that brought attention to it if you have the primary source (but people shouldn't be linking to problematic blogs - either link to the primary source or find/make another user-friendly secondary source).

  • source
  • parent
  • [–] 50 points 5 months ago (1 child)

    We need competition in the browser market, ANY competition!

    * ladybird appears *

    Well... that was on me, I set the bar too low

  • source
  • hideshow 2 child comments
  • [–] [S] 49 points 5 months ago (1 child)

    I am completely disappointed in Ladybird, even though I had some hope for the project until now. I guess all that's left to do is wait for Servo.

  • source
  • hideshow 2 child comments
  • [–] 32 points 5 months ago (1 child)

    Your final hope at this point is announcing you will not use LLM to write any part of your program, including tests. Adopting a language which your developers are less familiar is bad enough, and you're writing it with LLM? I'd rather you stick with C++.

  • source
  • hideshow 1 child comment
  • load more comments (1 reply)
    [–] 8 points 5 months ago (1 child)

    The requirement from the start was byte-for-byte identical output from both pipelines. The result was about 25,000 lines of Rust, and the entire port took about two weeks. The same work would have taken me multiple months to do by hand. We’ve verified that every AST produced by the Rust parser is identical to the C++ one, and all bytecode generated by the Rust compiler is identical to the C++ compiler’s output. Zero regressions across the board:

    Seems like a non-issue.

  • source
  • hideshow 2 child comments
  • [–] 7 points 5 months ago

    The Lunduke vid about this is going to be lit

  • source
  • [–] 6 points 5 months ago

    So confused why they openly admitted to using AI to code it for them

  • source
  • [–] 5 points 5 months ago* (last edited 5 months ago)

    We previously explored Swift, but the C++ interop never quite got there, and platform support outside the Apple ecosystem was limited

    It's as if everybody told you this the second you announced your move to Swift but aight.

  • source
  • [+] 3 points 5 months ago* (last edited 5 months ago)
    load more comments
    view more: next ›