Lobsters.

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.

  • arcine@jlai.lu
    link
    fedilink
    English
    arrow-up
    13
    ·
    4 hours ago

    I was enthusiastic about LadyBird until I learnt that the guy leading the project i s a white supremacist, via pivot-to-ai.

    Now I hope either someone else takes it over, or that it crashes and burns.

  • Matty_r@programming.dev
    link
    fedilink
    English
    arrow-up
    4
    ·
    3 hours ago

    The worst part is they are doing themselves a disservice by not rewriting it by hand - have they really learnt enough Rust to know how to effectively rewrite the other parts of the engine as they say? Doubtful - they’ll probably just do everything through AI stuff going forward.

  • Fitik@fedia.io
    link
    fedilink
    arrow-up
    2
    ·
    3 hours ago

    Good riddance on ai, even if people there dislike it, ai-assisted code is already a norm in a lot of places. However, the decision seems confusing to me, there’s already a Rust based web engine (Servo), I’m confused about what’s the distinction between them now?

  • TheOneCurly@feddit.online
    link
    fedilink
    English
    arrow-up
    102
    arrow-down
    3
    ·
    10 hours ago

    Yeah seems about right for this project. I really wanted this to be a serious browser, but nothing about this dude is serious.

    Also I know he backed this statement up with much better testing but these AI brainrot things people say kill me: “I ran multiple passes of adversarial review, asking different models to analyze the code for mistakes and bad patterns.”

  • cabbage@piefed.social
    link
    fedilink
    English
    arrow-up
    21
    ·
    9 hours ago

    I would of course love to see ladybird succeed, but it has seemed problematic from the start in my opinion. Servo seems much more serious.

    I also like that Servo is developing an engine, not a browser as such. Seems like a good idea to keep the two separated.

  • tocano@piefed.social
    link
    fedilink
    English
    arrow-up
    14
    arrow-down
    1
    ·
    9 hours ago

    I was enthusiastic about this project. But I am afraid these recent tangents will only reduce momentum.

  • Venia Silente@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    7 hours ago

    Every minute that passes, Gemini (not the Google one!) looks more viable, which is already a shame because as I described in lemm.ee before it went down, that itself feels like “Gopher but in the format of a brutalist buttplug”.

    What we need is some sort of return to HTML + CSS 1.0, or a web engine that simply ditches JS, so that development can be tackled by Individuals again.

    • vacuumflower@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 hours ago

      Separation of server styles, server markup and client styles is definitely something Gemini lacks, not having server styles at all.

      But it’s not as much a problem of browsers as it is of the environment in which information is shared and propagated. While we still connect to websites using a browser, those websites will behave however their owners wish, inflating web standards and requiring complex browsers.

      I was dreaming of something like “hypertext Usenet”, and making descriptions of another system I was interested in trying to make, I am still not even close to that, and I’m not sure I’m still interested, because it appears NOSTR now has much of what I wanted in its standards.

      Basically if you imagine a system for propagating posts addressable by ids and with markup inside, referring to styles and containing hyperlinks by ids to other posts, you can throw away the idea of a website, and still have the hypertext web. That markup can be anything, while the URLs in the links leading to images and such (and other pages) are using those ids or are at least Blossom-compliant.

      I think NOSTR of new protocols is the one most likely to eventually attain such functionality. People here wouldn’t like it, I suppose, because of huge intersection with Bitcoin community and because most clients and client libraries are for the web. But there’s now a C client library, functional enough, and architecturally NOSTR is worlds above the thinking of designers of Lemmy, for example.

  • Dæmon S.@calckey.world
    link
    fedilink
    arrow-up
    9
    arrow-down
    5
    ·
    9 hours ago

    @[email protected] @[email protected]

    Ah, the smell of irony by the morning! Adopting a programming language often praised by its “safety”, while the entire pretension of “safety” is alchemically transmuted into a sewage and deliberately flushed up (not down) by a clanker who drinks from the cesspool with the same determination and thirst that of a Chevy Opala gurgling down entire Olympic pools worth of gasoline.

    Being serious now, the foreseeable future for Web browsing is definitely depressing: Chromium needs no introduction (used to be an interesting browser until Google’s mask “don’t be evil” fell and straightforwardly revealed their corporate face and farce), Firefox have been “welcoming the new AI overlords” for a while, text browsers (such as Lynx) are far from feasible for a CAPTCHA(and Anubis)-driven web… now, one of the latest and fewest glimmers of hope, an alternative Web browser engine, is becoming the very monster the fight against which was promised to be the launchpad purpose (“They who fights with monsters should be careful lest they thereby become a monster”). I wouldn’t be surprised if Servo were to enshittify, too. Being able to choose among the sameness is such a wonderful thing, isn’t it?

    I mean, I’m not the average Lemmy user who got this (understandably) deep hatred against AI, I am able to hold a nuanced view and finding quite interesting uses (especially when it comes to linguistics) for the clankers (especially the “open-weighted” ones). However, this, to shoving AI everywhere and using AI to “code for you”, it’s a whole different story. A software should be programmed in the way programming (as posited by Ada Lovelace) was intended to, not “vibe coded” by a fancy auto-completer who can’t (yet) deal with Turing completeness, especially when it comes to a whole miniature operational system that browsers became nowadays. When coding a whole OS, AI shouldn’t even be touched by a two million light-years pole, let alone by a two-feet pole.

  • XLE@piefed.social
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    2
    ·
    10 hours ago

    Is it a good sign for Rust code when it’s described as having “a strong ‘translated from C++’ vibe”? Or when the developer says too much Rust might be something they “can’t merge”?

    • Eager Eagle@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      1
      ·
      edit-2
      7 hours ago

      out of context?

      Please coordinate with us before starting any porting work so nobody wastes their time on something we can’t merge.

      If you look at the code, you’ll notice it has a strong “translated from C++” vibe. That’s because it is translated from C++. The top priority for this first pass is compatibility with our C++ pipeline. The Rust code intentionally mimics things like the C++ register allocation patterns so that the two compilers produce identical bytecode.

      that seems reasonable to me

      • XLE@piefed.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        6 hours ago

        I think my statement came across as more alarmist than I meant it. E.g.

        Is it a good idea to just translate something from C++ like that? It seems technically feasible but there’s something “off” about the whole thing. Apparently you can translate C++ directly to Rust, but anecdotal statements claim that while Rust supports C++ conventions, you wouldn’t typically build a Rust app using them.

        Looking back previously, the developer originally talked about switching to Swift, then decided not to switch to Swift.

        And in the past, “Ladybird devs have been very vocal about being ‘anti-rust’ (I guess more anti-hype, where Rust was the hype).”

        It all just suggests rudderlessness from the developers right now. Must Rust be a priority? Did Swift need to be?

        • Eager Eagle@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          5 hours ago

          Why it wouldn’t be? Surely not having idiomatic rust doesn’t eliminate other benefits of switching to the language, like better tooling, memory safety, and perhaps more people willing to contribute. Over time the codebase can be improved but the main goal in the transition seems to not break existing functionality, which they seem to have accomplished for LibJS.

          • XLE@piefed.social
            link
            fedilink
            English
            arrow-up
            1
            ·
            3 hours ago

            I don’t think “why not” is a great response in general - especially when the same developer also invested time in Swift that was ultimately wasted.

            • Eager Eagle@lemmy.world
              link
              fedilink
              English
              arrow-up
              2
              ·
              3 hours ago

              It’s not a why not response. I’m asking back why do you think it wouldn’t be worth it even as a literal translation from C++, because in my view, that would be a first step towards a proper Rust port, and it still brings benefits to the table.