Live data from Hacker News

Ladybird browser to start using Swift language this fall

twitter.com

201–205 of 205 posts

Re: Ladybird browser to start using Swift language this fall

#201

Earlier quoted context omitted.

I strongly disagree. This is not a justified decision, they just feel like it based either on vague and speculative reasons, or because they are funded to do so, I would not be surprised if they had discussions with the Swift marketing team.

Then build your own browser in Rust, start contributing to Servo, and who cares when a volunteer writes a browser in any language? Write a browser in COBOL for all I care. If it’s open source, it’s still a gift.

> who cares when a volunteer writes a browser in any language?

All the people that replied with something akin to "Why is this written in C++" when Ladybird was initially announced, which probably influenced the decistion to switch to Swift.

Re: Ladybird browser to start using Swift language this fall

#202

There you go, we have immature industry if Rust or Swift is only logical choice to substitute C++, maybe working on a better language would be such a bad idea after all, meanwhile still long on Jai.

> meanwhile still long on Jai On a language which doesn't have any safety, doesn't plan on implementing basic features such as incremental compilation, tagged unions, async, or package management and others, and nobody is currently working on? Good luck.

Well, you don't need incremental compilation if you have a fast compiler. I can't speak for the other points, though.

Re: Ladybird browser to start using Swift language this fall

#203
post #61

Earlier quoted context omitted.

It could be an age thing. When I was taught grammar 40 plus years ago, for someone of indeterminate sex, “he” was taught as always appropriate, “he or she” was a somewhat clunky alternative that was situationally appropriate where you were stressing the gender neutrality, and “they” was just simply bad grammar which would get you bad marks. I’m honestly not sure when that changed.

"They" as a gender neutral singular pronoun has never been bad grammar, and has been accepted in common use for many hundreds of years.

And Oceania has always been at war with Eurasia.

Re: Ladybird browser to start using Swift language this fall

#204

Earlier quoted context omitted.

I wouldn't say all the Rust community is toxic. Then again, I'm not sure which Rust community he's referring to, I'm sure there are some toxic ones out there.

There was a big fight on Twitter last month because of a comment he made 3 years ago ( https://github.com/SerenityOS/serenity/pull/6814 ). I think that's closely related.

Seeing this right now single-handedly turned me off from the project. Of all the possible (and more plausible) conclusions that the maintainer could have had, they deduced it to be political (which is arguable) and immediately became extremely defensive. Apparently women don't exist. It's an absolute failure of one's responsibilities as a maintainer -- arguably as a person -- to treat someone's goodwill with such disregard.

Re: Ladybird browser to start using Swift language this fall

#205
post #4

I would have thought that Ladybird would be using a language that specifically guarantees memory safety which is Rust. But Swift is a very surprising choice but actually makes sense for a browser. The browser story is not great for Rust as we can only point to Servo which isn't ready to be used as a daily driver for millions of users. But Arc Browser is written with a combination of Swift and C++ to run on macOS and…

Swift is memory safe. The C++ interop thing I think is massive. But isn’t there also the problem that with Rust you can’t have the equivalent of shared pointers, so you can only have a single reference to one object (sorry I don’t really know Rust, just going from how this has been described to me) which apparently makes representing things like DOMs and abstract syntax trees an absolute nightmare?

RefCell is a shared pointer. Arc is a shared pointer with atomic reference counting (so it can be used between threads safely).

Both these constructs use the "clone" trait to iterate the reference count.

I make primarily concurrent and async applications these days so I use Arc a lot for accessing memory that is very large and shared many places, such as context.

I think the real problem is Rust has a lot of rules (that make sense for safety) that take time to understand and most people aren't patient enough to make good software because of corporate conditioning.

Post reply on HN