4 ms·
Have you used Swift? It’s not going away, it’s only going to grow.
by lupinglade 8y ago
Have you used Swift? It’s not going away, it’s only going to grow.
- miguelrochefort 8y agoHuh? What makes you think that?
- lmm 8y agoBlind assertion is not an argument. What makes Swift a worthwhile/interesting/valuable language outside of the iOS ecosystem? As far as I can see it's yet another language with basically the ML featureset and nothing else; there are certainly worse starting points, but what reasons are there to adopt Swift that don't apply to OCaml or F#, both of which are more established (to say nothing of Rust/Haskell/Scala that actually offer substantive features that other ML-family languages don't have).
- the_duke 8y agoSwift is kind of like Rust with garbage collection and more convenience baked in. It's a pretty nice language with a lot of adoption due to it being nicer and much more modern than ObjectiveC. It's not going anywhere. There are also companies like IBM pushing for Swift on the server. Personally the bad Linux support makes it uninteresting for me right now.
- lmm 8y ago> Swift is kind of like Rust with garbage collection and more convenience baked in. Sure - but again, OCaml or F# have been there for decades.
- rcruzeiro 8y agoBut to be fair neither OCaml nor F# picked up any significant traction (at least not compared to Swift).
- zozbot123 8y agoAIUI, Swift uses reference counting, not fully-general GC. So, it's really not different from Rust from that POV, other than the fact that Rust can avoid the overhead of atomic refcount updates (or sometimes of reference counting at all) in many cases where Swift requires it. It also seems a bit silly to push for Swift on the backend when excellent and well-supported alternatives exist such as Rust, Go and others.
- lmm 8y ago> AIUI, Swift uses reference counting, not fully-general GC. So, it's really not different from Rust from that POV, other than the fact that Rust can avoid the overhead of atomic refcount updates (or sometimes of reference counting at all) in many cases where Swift requires it. No, ARC is a kind of GC. In particular, you have the same pausing behaviour as mark/sweep GC, because freeing any value might result in having to free arbitrarily many other values whose reference counts now go to zero.
- zozbot123 8y agoARC as in atomic reference counting? I mean, Rust literally has an Arc<> type!
- lmm 8y ago> ARC as in atomic reference counting? Automatic, I think, but yes. > I mean, Rust literally has an Arc<> type! Yes, but idiomatic Rust makes very limited use of it; if you do use an Arc in Rust you have visibility and control over when you unreference it. Whereas in idiomatic Swift you're doing unmanaged dereferences all over the place. I mean, of course it's possible to implement garbage collection in your non-GC language. The difference between a GCed language and a non-GCed language is whether GC is implicit and pervasive, or explicit and manually controlled.
- zozbot123 8y ago> Yes, but idiomatic Rust makes very limited use of it ... This is hardly a positive for Swift; Rust still collects its garbage as much as Swift does; it just does so more efficiently by making use of compile-time lifetime analysis (RAII-like), in addition to the RC technique that Swift uses.
- endorphone 8y agoWhat makes Swift a worthwhile/interesting/valuable language outside of the iOS ecosystem? It works well for macOS. But seriously, there are about one and a half billion iOS devices in active use, on a vibrant, alive market. That is an absolutely colossal market, and positing like all platforms are the same and therefore n platforms is better is a non-starter. Ocaml? F#? If you're targeting that market they have no relevance. The original guy's post was simply ridiculous. Apple has to accept reality that the smartphone market has matured and suddenly we're all writing web apps and abandoning the platform? To put it as succinctly as it can be stated: lol.
- lmm 8y ago> But seriously, there are about one and a half billion iOS devices in active use, on a vibrant, alive market. That is an absolutely colossal market, and positing like all platforms are the same and therefore n platforms is better is a non-starter. Sure. As long as Swift is the only way to program for iOS there will be people who have to use it for business reasons. But that's very different from claiming it's a growing/exciting/high-momentum language. > The original guy's post was simply ridiculous. Apple has to accept reality that the smartphone market has matured and suddenly we're all writing web apps and abandoning the platform? It's not going to disappear overnight. But smartphone sales are slowing (especially for Apple), the app store gold rush is over leaving an oversaturated marketplace, and a lot of unprofitable app makers are exiting the business one way or another. There will always be room for great app makers to make money - just as some companies still make money selling desktop software. But I wouldn't call it "vibrant", and I would think long and hard before entering that market right now - it really feels like we're on a downturn at the moment, at least to me.
- endorphone 8y agoIt's a growing/exciting/high-momentum language. On a platform with 1.5 billion premium users and a very large developer base, it offers a modern, improved way of building software. That doesn't mean it's exciting to everyone, and it obviously isn't relevant to a Microsoft-shop middle-tier developer, for instance, but that doesn't matter. The app store "gold rush" has been over for almost a decade. Now it's lots of very profitable little niches, and a lot of companies doing very well for themselves.
- zozbot123 8y agoI'm quite familiar with it. Compared with, e.g. Rust, it very much feels like an also-ran. And Rust has incredible momentum right now.