Andreas Kling aka @awesomekling wrote:

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. 🤓🐞

30 points
*

I say this as a Swift developer (and Obj-C before that), who’s built apps on Apple platforms for 20 years. I love the language and I love developing for Mac and iOS. But why would you reach for Swift for a cross platform browser? The support on Windows and Android is in its infancy, and it’s not a widely known or used language in the context of system programming. I’d never write a mobile app in any other language, but I’d never write a browser engine in this one.

permalink
report
reply
13 points
*

The benchmarks I have looked at for Swift seem to show it being quite slow often, anyone who uses it for lower-level/systems stuff have some input?

https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/swift-gpp.html

With performance (and arguing over it) being a very big issue on modern browsers, I would be worried if it’s really this bad for general web browsing.

permalink
report
reply
16 points

If he think swift is the way to go, good for him. The code before swift is still open source, so interested user can fork it. What is there to hate?

permalink
report
reply
6 points
*

Apple, I suppose. And the lower performance compared to C++ from what I have seen

permalink
report
parent
reply
23 points

It is his project and I’m not going to create an issue on github lambasting him, but I do have an opinion. He’s clearly not an idiot, it just isn’t a decision I agree with 🤷‍♂

Disagreement != hate. Life isn’t made up of extremes.

Anti Commercial-AI license

permalink
report
parent
reply
29 points

I never understand hate ladybird and SymphonyOS is getting in fediverse.

People are doing interesting work against all odds, everyone ever just saying “it is not possible”, finding some random comments from project founder to hate.

But you know what? You and your opinion is not important. People are not doing this to make Linux competitor or Mozzila competitor but to have fun and learn something new.

I also don’t want apple near it, but Andreas learned browser development on Safari and with looking for “popular enought” memory safe language it is rust vs swift and just by looking at the code becomes obvious how easier Swift is to pick up. Especially for someone comming from C++.

Haters gonna hate, I wish them luck. Failing is ok too.

permalink
report
reply
6 points
*

everyone ever just saying “it is not possible”,

I’ve definitely seen people saying they’ll fail, with no arguments to back that up, and I stand with you against that kind of baseless speculation. But it’s worth noting there are many folks bringing up thought-out technical disagreements with the project’s decisions. Some may be more opinionated than others, but that’s life.

finding some random comments from project founder to hate.

If you’re referring to what I think you are, that’s not it. People aren’t chasing after random comments because they want to throw shit at Ladybird. It’s called criticism. Criticism, if valid, is not the same as hate, and portraying people who bring up Andreas’ actions—possibly those of most important person in the project—as one-dimensional haters is disingenuous.

But you know what? You and your opinion is not important. People are not doing this to make Linux competitor or Mozzila competitor but to have fun and learn something new.

But they’re not? Ladybird has a fully-fledged US 501©(3) non-profit with clear ideals, a roadmap and even sponsors that have pledged over one million USD in funding combined (see Chris Wanstrath’s post).

Haters gonna hate, I wish them luck. Failing is ok too.

Yes, that’s true. Please don’t disregard people offering valid criticism, though.

permalink
report
parent
reply
2 points
*

People are not doing this to make Linux competitor

Right, they’re not trying to build a Linux competitor by building an Ubuntu Linux fork :)

Edit: Oh, you probably meant SerenityOS and not SymphonyOS

permalink
report
parent
reply
1 point

I’d love to be able to use Swift so I’m excited to what they’re going to bring to the ecosystem! Would be cool if there’s a place to contribute when Swift 6 comes out :))

permalink
report
parent
reply
13 points

I don’t think hate is the right word. Vitriol maybe.

I don’t hate the project or the devs.

It’s just that when someone suggests this might one day be a competitive browser engine, everyone feels obligated to point out, sometimes a little too emphatically, the many challenges the project must overcome.

Perhaps part of it is borne of frustrations around mozilla. They’re our last best chance, and yet we’re all very frustrated at their constant mismanagement and errors of judgement. The suggestion that several people can build an independent competitor in their spare time is… unbearable.

With all that said, if they ever achieve anything approaching Firefox’s compatibility and reliability, I will be their most ardent supporter. Until then I’ll be here in these threads calling idiots naive.

permalink
report
parent
reply
26 points

I know some folks think this is annoying, but once again, note that if you’re the kind of user who shuns Brave because the CEO does stupid shit every once in a while, you’ll probably not look fondly upon Ladybird’s project lead and main developer being scared of pronouns.

See this issue on github.

If you don’t care about that, it’s an interesting project. Can’t say I approve, though.

Posting this to inform people and let each one decide what to do on their own. Don’t harass anyone, please.

permalink
report
reply
4 points
*

https://lemmy.ml/post/19080982/12955657

I feel like Linus has said much worse things, without much remorse (the attacks didn’t stop after he apologized), for many many years, but I have never seen anyone boycott Linux solely because of his attitude…

I think most people do not consider the Ladybird drama to be a big deal, it seems only a small vocal minority really care about it.

permalink
report
parent
reply
9 points
*

https://lemmy.ml/post/19080982/12955657

What do you want me to read here? I only saw three comments unrelated to anything I said.

I feel like Linus has said much worse things, without much remorse (the attacks didn’t stop after he apologized), for many many years,

Linus had a problem with criticizing people’s work respectfully. Rather, he’d straight up insult people, with little to no useful feedback, and people very much complained about it. Maintainers complained. It got to the point that he, thankfully, committed to taking a break from the kernel to work on improving himself. It wasn’t just an apology. He has since gotten much better. When he regresses, it’s entirely fair to criticize it.

but I have never seen anyone boycott Linux solely because of his attitude…

Then you’ll be happy to discover that many people working on Linux were quite public about their disapproval of Linus’ behavior back then. With him, with others, it was their complaints that got him to change.

I think most people do not consider the Ladybird drama to be a big deal, it seems only a small vocal minority really care about it.

Maybe. But it’s not about the size of the group, it’s about the complaints themselves. We don’t decide whether something is an issue worth caring about based on how many people think so. That’d be horrible. Racism was once the issue of a vocal minority; thank goodness people didn’t shut up about it and more eventually listened.

Andreas’ behavior reflects poorly on the project as a whole and ought to change. It pushes away folks who could be part of the community and helping the project, be it as users, developers or financial supporters. My comments aren’t intended to incentivize boycotting Ladybird because I don’t like the man, they’re meant to raise awareness of a serious issue in the hopes that, one day, perhaps he’ll grow up like Linus did.


I’d never mention this out of the blue, but since you brought up Linus, here’s my unnecessary fun opinion. I’d bet money that Andreas’ takes on inclusivity wouldn’t be appreciated by Linus, because the man’s one deranged step away from calling pronouns woke.

permalink
report
parent
reply
26 points

My idiology diverges significantly from the lemmy devs, but here we are.

permalink
report
parent
reply
2 points
*

My idiology diverges significantly from the lemmy devs, but here we are.

Would you be willing to elaborate on why that’s relevant here? As in, what do you mean by this?

Because Lemmy and Ladybird are wildly different projects, tackling completely different issues, and consequently users interact with them and their developers in very different ways. To put it a little bluntly, I think that observation sounds insightful, but it’s just silly when you dig deeper. I’d rather not waste time writing entire paragraphs based on an assumption of what you meant, though.

And I don’t know about you, but I’m keeping my eye on Sublinks. I appreciate Lemmy as a piece of software, but it doesn’t have my undying loyalty merely because I created an account on it, nor are it and its developers immune to my criticism just because I use it.

Edit: I’m worried that I might’ve been rude in my first 2 paragraphs. Sorry if it came across that way. To clear things up: I’m genuinely asking what’s the idea behind your comment, because I could see it being several things and I don’t want to have to answer all of them, or risk answering the wrong one.

permalink
report
parent
reply
11 points

I’m strongly opposed to the lemmy devs political and social views, yet I’m happily using the platform they developed.

I’m not quite sure how I can be clearer?

permalink
report
parent
reply

Programming

!programming@programming.dev

Create post

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



Community stats

  • 3.7K

    Monthly active users

  • 1.8K

    Posts

  • 29K

    Comments