• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. Ladybird chooses Swift as its successor language to C++

      I've copied the full tweet below (it's from August, I missed this news somehow): We've been evaluating a number of C++ successor languages for @ladybirdbrowser , and the one best suited to our...

      I've copied the full tweet below (it's from August, I missed this news somehow):

      We've been evaluating a number of C++ successor languages for @ladybirdbrowser , and the one best suited to our needs appears to be @SwiftLang 🪶

      Over the last few months, I've asked a bunch of folks to pick some little part of our project and try rewriting it in the different languages we were evaluating. The feedback was very clear: everyone preferred Swift!

      Why do we like Swift?

      First off, Swift has both memory & data race safety (as of v6). It's also a modern language with solid ergonomics.

      Something that matters to us a lot is OO. Web specs & browser internals tend to be highly object-oriented, and life is easier when you can model specs closely in your code. Swift has first-class OO support, in many ways even nicer than C++.

      The Swift team is also investing heavily in C++ interop, which means there's a real path to incremental adoption, not just gigantic rewrites.

      Strong ties to Apple?

      Swift has historically been strongly tied to Apple and their platforms, but in the last year, there's been a push for "swiftlang" to become more independent. (It's now in a separate GitHub org, no longer in "apple", for example).

      Support for non-Apple platforms is also improving, as is the support for other, LSP-based development environments.

      What happens next?

      We aren't able to start using it just yet, as the current release of Swift ships with a version of Clang that's too old to grok our existing C++ codebase. But when Swift 6 comes out of beta this fall, we will begin using it!

      No language is perfect, and there are a lot of things here that we don't know yet. I'm not aware of anyone doing browser engine stuff in Swift before, so we'll probably end up with feedback for the Swift team as well.

      I'm super excited about this! We must steer Ladybird towards memory safety, and the first step is selecting a successor language that we can begin adopting very soon. 🤓🐞


      Nitter link:

      https://nitter.poast.org/awesomekling/status/1822236888188498031

      Original post:

      https://x.com/awesomekling/status/1822236888188498031


      Some of Kling's replies in that thread are also pretty interesting:

      My general thoughts on Rust:
      - Excellent for short-lived programs that transform input A to output B
      - Clunky for long-lived programs that maintain large complex object graphs
      - Really impressive ecosystem
      - Toxic community

      In the end it came down to Swift vs Rust, and Swift is strictly better in OO support and C++ interop.


      The September monthly report for Ladybird released the day after I posted this. It provides basically the same information:

      This Month in Ladybird September 2024

      The section about Swift:

      Successor language search progress

      Over the past year, our core contributors have been exploring potential safe languages to complement or succeed C++. We evaluated several options, including Rust, Swift, Fil-C, and others. While some languages offered compelling features, many fell short in either C++ interoperability or providing the level of memory safety we needed.

      After extensive testing and discussion, Swift emerged as the top choice among our core developers, thanks to the new Swift 6 interoperability features and its growing cross-platform support. As a result, we’ve decided to adopt Swift as our C++ successor language.

      That said, this will be an incremental shift. The existing C++ codebase is deeply embedded in the project, and a complete rewrite would be impractical. Instead, we’ll be gradually introducing new components in Swift, carefully integrating them with our existing C++ code over time. Look forward to a dedicated blog post on the topic soon.

      30 votes
    2. In need of new bedding

      I’m looking for some new king size sheets, and likely a new duvet cover as one of the ties inside is ripped. My wife is intrigued by Brooklinen and other brands marketed on social media, but I’ve...

      I’m looking for some new king size sheets, and likely a new duvet cover as one of the ties inside is ripped. My wife is intrigued by Brooklinen and other brands marketed on social media, but I’ve read that those are terrible. Do any of you have brand recommendations that aren’t thousands of dollars?

      2 votes
    3. Save Point: A game deal roundup for the week of October 13

      Add awesome game deals to this topic as they come up over the course of the week! Alternately, ask about a given game deal if you want the community’s opinions: e.g. “What games from this bundle...

      Add awesome game deals to this topic as they come up over the course of the week!

      Alternately, ask about a given game deal if you want the community’s opinions: e.g. “What games from this bundle are most worth my attention?”

      Rules:

      • No grey market sales
      • No affiliate links

      If posting a sale, it is strongly encouraged that you share why you think the available game/games are worthwhile.


      All previous Save Point topics

      If you don’t want to see threads in this series, add save point to your personal tag filters.

      3 votes
    4. Scavengers Reign (2023) - Best sci-fi I have seen in years, aside from Dune

      "Scavengers Reign" eluded me when it released last year, but I was made aware of it after MAX canceled the show in May (Netflix has since picked it up but may or may not put in for more, is how I...

      "Scavengers Reign" eluded me when it released last year, but I was made aware of it after MAX canceled the show in May (Netflix has since picked it up but may or may not put in for more, is how I understand the situation).

      The trailer has been posted here but I wanted to check in and see how everyone else felt about it (keep it spoiler free!). Personally I was enthralled all the way through. It has such an interesting blend of Miyazaki-esque "creature-y" world building with more meditative displays of nature and the violence and balance that is integral to it. If that sounds at all interesting I would suggest watching the first of twelve episodes, you will probably know if you are interested or not after it's over.

      Here's hoping Netflix green lights more, assuming the creators want to continue. It really could stand as-is with where they left it.

      38 votes