← Back to context

Comment by jackjeff

4 days ago

Isn’t this “high level rust” idea similar to swift?

Everything is ARC. Clones are cheap. But you still have a reasonable sound type system and no garbage collection.

I get it. Tooling on swift is meh the further you are from Apple, so I’m not suggesting it’s better.

But from a language point of view; is it not essentially a high level rust?

Ps. I don’t really know swift. Just asking where/why I’m wrong really.

Swift is a great language, sadly hampered by poor stewardship with terrible compile times, small community outside of apple ecosystems, etc.

I do hope it improves. Having a second compiler vendor that actually cares about making it usable without reaching for 3p compiler caching hacks would go a very, very long way.

The tooling is getting better and better, thankfully. Just recently they published their official VSCode extension on open-vsx for instance. It’s getting usable now!

It's not ARC though. They use fancy threading mechanisms to avoid having to check on every access. Much faster.

  • It is still primarily ARC. There's simply some optimizations in place, but still no real GC. So you'll never get those dreaded pauses at runtime. It COULD be a real rust competitor if a couple issues were addressed, mostly devx (in the standard tooling sense not the misuse of term this article has, meaning expressiveness, correctness, etc. which Swift already has in spades)

  • "Swift uses Automatic Reference Counting (ARC) to track and manage your app’s memory usage."

    https://docs.swift.org/swift-book/documentation/the-swift-pr...

    • I meant 'not like rust-Arc' :)

      ... which is what I thought people were referring to.

      Yes - it's ref counting, but it's not like 'Arc' at all - ARC is way more thread aware and most 'access' doesn't have to do thread checking. Much faster.

      So - using Rust 'Arc' would not be at all like using Swift 'ARC' in the end.