Live data from Hacker News

Verso – Web browser built on top of the Servo web engine

github.com

201–210 of 343 posts

Re: Verso – Web browser built on top of the Servo web engine

#201
post #180
post #174

Earlier quoted context omitted.

Okay, so you're saying you don't know what Swift Concurrency is and they say Swift is a failure. Swift has async/await built into the language with many compile time guarantees of thread safety.

> Okay, so you're saying you don't know what Swift Concurrency I just looked it up. It is Swift's version of async/await. That is a different thing from threads. I know what that is, used it a lot, because using threads was such a nightmare in Swift. > language with many compile time guarantees of thread safety From two separate threads you can access the same memory. No trouble (apart from crashes memory corruption.…

> I just looked it up. It is Swift's version of async/await.

Since you “just looked it up”, maybe don’t make blind assertions about something you clearly don’t know very much about?

It’s a lot more than async/await. It is a way to offer compile time guarantees about thread safety (through Sendable, which is part of SC), it’s an actor model (allowing shared mutable state to be isolated, leveraging async/await for coordination so that callers can pause if the actor is currently servicing another message) and a bunch more stuff.

I explained all this in my post you replied to, maybe read the whole thing before making wrong claims about stuff you spent 1 minute looking up?

Re: Verso – Web browser built on top of the Servo web engine

#202
post #180
post #174

Earlier quoted context omitted.

Okay, so you're saying you don't know what Swift Concurrency is and they say Swift is a failure. Swift has async/await built into the language with many compile time guarantees of thread safety.

> Okay, so you're saying you don't know what Swift Concurrency I just looked it up. It is Swift's version of async/await. That is a different thing from threads. I know what that is, used it a lot, because using threads was such a nightmare in Swift. > language with many compile time guarantees of thread safety From two separate threads you can access the same memory. No trouble (apart from crashes memory corruption.…

> Whatever, async/await is no replacement for parallel programming with threads. It is a different beast.

Have you missed Tasks and Task Groups as well? And Actors? For now, they are an abstraction over threads, and IMO a good one. It’s actors + structured concurrency, borrowing from Kotlin‘s Coroutines and sprinkling some Erlang on top. Additionally, in Swift there is AsyncSequence + AsyncStream, a (woefully incomplete) Kotlin Flow alternative.

Re: Verso – Web browser built on top of the Servo web engine

#203
post #133

Earlier quoted context omitted.

I’m slightly more ambivalent than you about it. Swift is a nice language and has better ergonomics than C++ and I imagine a Swift codebase might find more contributors than a C++ one (maybe I’m wrong about that!) I also think it’s separate from the dream of “multiplatform Swift”. For that you need a healthy package ecosystem that all works cross platform, Swift doesn’t have that. But a lot of Ladybird is written at a…

I wonder what convinced Andreas Kling to abandon his own language Jakt [1] in favour of Swift. In the long run, it would be good to have high-level languages other than Java that have garbage collection (at least optionally) and classes, and that are still capable of doing cross-platform system development. I don't know if Swift fits that bill, besides cross-platform ecosystem (a la Java), submitting the language for…

> In the long run, it would be good to have high-level languages other than Java that have garbage collection (at least optionally) and classes, and that are still capable of doing cross-platform system development.

C#

Re: Verso – Web browser built on top of the Servo web engine

#204
post #180
post #174

Earlier quoted context omitted.

Okay, so you're saying you don't know what Swift Concurrency is and they say Swift is a failure. Swift has async/await built into the language with many compile time guarantees of thread safety.

> Okay, so you're saying you don't know what Swift Concurrency I just looked it up. It is Swift's version of async/await. That is a different thing from threads. I know what that is, used it a lot, because using threads was such a nightmare in Swift. > language with many compile time guarantees of thread safety From two separate threads you can access the same memory. No trouble (apart from crashes memory corruption.…

Async/await may or may not be a replacement for highly concurrent and parallel programming, depending on what is the execution model of the async runtime.

If Swift's model is anything like .NET's lightweight Tasks + async/await or Rust's async/await Futures and Tasks as implemented by Tokio or async-std, then it is such replacement.

Re: Verso – Web browser built on top of the Servo web engine

#205
post #108

Earlier quoted context omitted.

I'd like to see Swift adopted more on non-Apple operating systems, some of the recent GTK apps written in Swift are pretty cool.

There's been a lot of work on this in the last few years with Windows support, preliminary Android support is also being worked on and should appear at some point in Swift 6.

Is swift going to do what flutter and kotlin multiplatform cannot?

Re: Verso – Web browser built on top of the Servo web engine

#206

Earlier quoted context omitted.

It cannot crash its written in Rust.

Rust can absolutely crash. It crashes ("panics" in Rust terminology) in a memory safe way but it's still a crash (please don't try to redefine the word "crash" to be more specific than it actually is). And Rust can still have unsafe code so it can crash in memory unsafe ways too (though it is very unlikely unless you're doing things very wrong).

I believe that was a joke

Re: Verso – Web browser built on top of the Servo web engine

#207

1. The repository README doesn't explain what Servo is. From its own repo README: https://github.com/servo/servo "Servo is a prototype web browser engine written in the Rust language. It is currently developed on 64-bit macOS, 64-bit Linux, 64-bit Windows, and Android." So, this browser seems to be about using Rust, and somewhat Mac-centric. Not criticizing, just emphasizing. -----------------------------------------…

Not sure how you concluded that it's a "somewhat Mac-centric" project. Can you elaborate?

Re: Verso – Web browser built on top of the Servo web engine

#208
post #177

Earlier quoted context omitted.

It’s not really a question of fairness. The existing codebase is C++, the new stuff is Swift. Hence the comparison. I’ve written both Rust and Swift while being an expert in neither. I wouldn’t say Swift has no pluses in comparison, reference counting is often a lot easier to reckon with than lifetimes, for one. I’m actually curious what a large multithreaded Swift codebase looks like with recent concurrency improvem…

> Rust’s async story isn’t actually that great I agree. People's perspectives differ. It abhor `async/await` in Rust. It has poisoned the well IMO for asynchronous Rust programming. (I adore asynchronous programming - I do not need to pretend my code is synchronous) But that is taste, not a comment on poor engineering! The lack of the borrow checker in Swift is what makes it approachable for newcomers, as opposed to…

I don’t think Apple would want to sacrifice the determinism that refcounting provides for garbage collection. iOS apps are still more buttery smooth than Android in many cases.

Re: Verso – Web browser built on top of the Servo web engine

#209

Earlier quoted context omitted.

I'd like to see Swift adopted more on non-Apple operating systems, some of the recent GTK apps written in Swift are pretty cool.

I'd really rather not, personally. All my Swift experiences have been fighting the abysmal compilation times.

That's a bit of an issue in Rust world, too.
Post reply on HN