• stochastictrebuchet@sh.itjust.works
    link
    fedilink
    arrow-up
    32
    ·
    edit-2
    8 hours ago

    I’m OOTL. Are these actual issues people have with the project?

    C++ might not be as memory-safe as Rust, but let’s not pretend a Rust code base wouldn’t be riddled with raw pointers.

    BSD tells me the team probably wants Ladybird to become not just a standalone browser but also a new competing base for others to build a browser on top of – a Chromium competitor. Even though BSD wouldn’t force downstream projects to contribute back upstream, they probably would, since that’s far less resource-intensive than maintaining a fork. (Source: me, who works on proprietary software, can’t use GPL stuff, but contributes back to my open-source dependencies.)

    • Zacryon@feddit.org
      link
      fedilink
      arrow-up
      5
      ·
      4 hours ago

      I don’t like that “C++ isn’t memory safe”. It is. Users of that language are usually just not experienced or educated enough and therefore more mistakes happen.

      I agree though, that other languages like Rust or Java can make it easier to prevent such mistakes.

      In my experience, using smart pointers alone already solves 90% of memory issues I have to deal with. C++ improved a lot in that regard over the decades.

      • Possibly linux@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 hour ago

        The good news is that the browser comes from Serenity OS which means it probably is lightweight and well written.

      • dreugeworst@lemmy.ml
        link
        fedilink
        arrow-up
        10
        ·
        4 hours ago

        I agree that experienced users can write code that leaks less than in C, leaving aside the bottomless pit of despair that is undefined behaviour. But the the language isn’t memory safe, it doesn’t even prevent you from returning a reference to a local or helpnwitg iterator invalidation. you don’t have to jump through any hoops to enable making that mistake.

        • Zacryon@feddit.org
          link
          fedilink
          arrow-up
          1
          ·
          35 minutes ago

          If a language prevents you from doing stuff like that, this always comes at a cost, since it has to do the work for you, almost always. This is additional overhead you can get rid of in C++ and therefore gain a lot of performance. But that again comes with more responsibility on the developer’s side and you might need to implement appropriate checks yourself where needed.

          • qqq@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            16 minutes ago

            Rust prevents the things mentioned above in the compiler; there is no runtime cost for most of Rust’s safety measures. There is definitely a build time cost though.

            You can unsafe your way around anything, but that’s on the dev.

    • dreugeworst@lemmy.ml
      link
      fedilink
      arrow-up
      24
      ·
      edit-2
      7 hours ago

      well, its possible to check if a rust equivalent would be riddled with raw pointers: just check the Servo code base.

      personally I think its a good thing to have another browser implementation, regardless of specific choices they make about language or license

    • thann@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      4
      ·
      5 hours ago

      If you cant tell from just looking at the relative successes of BSD and linux that copyleft licenses are better than I dont know how to convince you of anything

      • pmk@lemmy.sdf.org
        link
        fedilink
        arrow-up
        3
        ·
        4 hours ago

        By that logic proprietary licenses are best for desktop OSs because Windows has the biggest market share?

          • vfsh
            link
            fedilink
            arrow-up
            3
            ·
            3 hours ago

            To… MacOS. Yet another proprietary closed source license