Yeah Apple is going out of business as usual, they only made $24B gross profit in the past quarter, did your employer do that? All mobile phone manufacturers are having sales issues including Samsung as everyone these days has a phone and competition for features has jacked up prices too high in the industry. Swift is going just fine, as is Kotlin (its kin in the Java universe) and Rust and Go. Objective-C might be slowing fading away, but then its a 35 year old language being replaced by Swift.
Obj-C is 35 years old and it doesn't look like it's going away anytime soon. As for " people/businesses are going back to web instead of App" that's something I've been hearing for 5+ years now but the app ecosystem seems to be doing just fine. That is not to say that some ideas aren't best suited for the web but saying that apps have been losing to the web is a long stretch. To put it simple: there is the web and there are apps. If the app you intend on implementing can be fully replaced by a website, then, by all means, implement it as a website.
Pretty much all of the Apple core frameworks and it's unrealistic to think everything will be rewritten in Swift in the next few years. Besides that, you have countless applications for MacOS/iOS that are profitable and will be maintained for the foreseeable future.
I guess your point was "what is the relevance of Obj-C outside of the apple ecosystem?" and the answer to that you already know: pretty much none. But given that the apple ecosystem isn't going anywhere anytime soon, Obj-C will continue to be used for better or worse.
Swift on the other hand will gain all the relevance that Obj-C is losing within this ecosystem and it also has the potential of gaining a lot of relevance outside of apple as well (although it's not there yet).
Blind 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).
What 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.
> 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.
It'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.
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. 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.
> 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.
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.
> 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.
You were the one who was claiming "it's really not different from Rust from that POV". What you dismiss as "it just does so more efficiently" is the entirety of the difference between GC and non-GC languages; Swift is a GC language with everything that entails, and Rust is not.