The intentions of the authors is for Swift to take over the world. But the way it's going, it will probably become stuck on Apple's ecosystem like Objective C.
At least with Objective-C it's pretty trivial to just use C or C++ or whatever in most places and Objective-C minimally. Swift is a little more of a headache in that regard.
Using Stack Overflow tag trends to compare Swift to the other languages and technologies listed in the article, Swift is still on top. React Native is climbing fastest, and is almost half-way to where Swift is today.
I'm not sure what the point is here. It feels like a bunch of disconnected thoughts and observations about Swift, none of them pursued very far. Some of them seem to contradict each other. And none of them are particularly striking or insightful.
I agree. This was click bait. The post as jumping around and nothing insightful. I'm not sure what the point of the article was...maybe pseudo marketing content for their site. ?
The answer to this question is simple: Swift does not have a comparative advantage in any area of development other than Apple-device-only apps. It may be a nice language, but the cross-platform Swift ecosystem is firmly entrenched in square one as long as the community continues to prefer other languages and tools.
They are anchoring their argument about the past and future of Swift as a popular programming language based on... how many hits it has on a Google search? Okay.
Swift language features keep improving, and it's easily my favorite language to code in. The developer tools, on the other hand are complete trash. A large iOS app written in Swift can easily take 5 minutes to compile, while the equivalent Objective-C app would take 20 seconds. Additionally, Xcode is one of the most unstable IDEs out there. Simple things like refactoring a variable name or looking up a function declaration are barely working.
They tried to improve compile times with Xcode 10 though. Should be getting better. Same goes for autocompletion, but that's just taking their word for it. I've got beta installed, but did not spend much time with it (for some reason the main project I'm working on is failing to compile in it, did not bother to investigate yet).
Definitely seems like Swift is losing right now to things like React Native and Cordova, but it's not because Swift isn't good, but it isn't Javascript.
Put aside feelings about Javascript and realize that everything is heading towards Javascript for websites, apps, scripts, command line tools, browsers, and etc.
It's hard for Swift to compete, like Go and Rust are for instance, when it's current best use is to make apps for a single platform. They don't have the vast number of libraries and active maintainers Javascript has. That along with Swift itself constantly changing (along the same timeframe Go has maintained it's 1.x guarantee and Javascript has maintained compatibility at all costs) and I've just recently heard that while Swift appears like a more powerful Javascript at first the more complicated features rapidly intermingle in strange ways that the code does not do enough to make clear.
Swift by no means is dead, but it's not the right tool right now for most people. Most have to develop the backend and web app first and then they go to iOS. With React Native many don't even need to know Swift to do the 2nd step.
Everything is not moving towards JavaScript. In some large subset of development, sure. And server-side Swift is incredible and still relatively obscure. Where performance at scale matters, JavaScript is often a bad choice despite ubiquity.
Yes, maybe not _everything_ but the trends of Javascript being used everywhere and for replacing Swift & co. are there. While I prefer native apps over JS ones it certainly seems that developing on JS apps, whether they're Electron, React Native, or other, has a much faster development cycle and they're winning on flexibility, features, and ease of customization.
I wish Apple were more proactive to support swift on linux/windows, even without UI, just all the core and non-UI libs.
If iOS is their cash-cow it will allow to make a stronger case for people that are apple-first, lure some from other places and any potential loss will become small. And if suddenly any other (MS? Google?) improve on it it will validate it more.
I'm a longtime fan of Cocoa and Objective-C. AppKit has pretty much paid my bills for the past 15 years.
The reason I like Obj-C is the simplicity. You've got C, the most popular and widely deployed programming language in the world with libraries available for pretty much everything. Then you add a minimal slice of proven Smalltalk constructs on top, completely orthogonal to the base language. There's rarely a question about whether you should be doing something the high-level object-oriented message passing way, or the low-level C "functions & struct pointers" way. The two play together with no surprises (unlike C++ which is a minefield of surprises for the C programmer).
Swift threw away the Smalltalk-like simple dynamism of Objective-C. Instead it gives you syntax that's got more sprawl than Scala; a swamp of type system combinatorial explosions that can rival C++; language instability on par with modern JavaScript; and the coup de grâce is that all this is connected at the hip to a giant framework that doesn't feel Swift-native because it's actually an Objective-C API with decades of baggage.
At the same time, Apple likes to pretend that Swift is a beginner-friendly language. It's a floor wax and a desert topping — and after you've iced the cake with a thick layer of Swift you can apparently both have it and eat it.
36 comments
[ 1.2 ms ] story [ 94.9 ms ] threadIs it really? I thought it was an Apple project to drag macOS/ios development out of the dark ages.
http://sotagtrends.com/?tags=[swift,objective-c,xamarin,cord...
Seems like content fluff that would be generated to get SEO and I'm not sure why it made it to the front page.
to top it off, there's a westworld spoiler at the bottom
‘Mobile devs can be tempted by multiplatform, which leads away from swift
Also there is growing popularity of frameworks such as react native and Cordova etc’
Maybe ESL authour but not coherent content
They are anchoring their argument about the past and future of Swift as a popular programming language based on... how many hits it has on a Google search? Okay.
Put aside feelings about Javascript and realize that everything is heading towards Javascript for websites, apps, scripts, command line tools, browsers, and etc.
It's hard for Swift to compete, like Go and Rust are for instance, when it's current best use is to make apps for a single platform. They don't have the vast number of libraries and active maintainers Javascript has. That along with Swift itself constantly changing (along the same timeframe Go has maintained it's 1.x guarantee and Javascript has maintained compatibility at all costs) and I've just recently heard that while Swift appears like a more powerful Javascript at first the more complicated features rapidly intermingle in strange ways that the code does not do enough to make clear.
Swift by no means is dead, but it's not the right tool right now for most people. Most have to develop the backend and web app first and then they go to iOS. With React Native many don't even need to know Swift to do the 2nd step.
If iOS is their cash-cow it will allow to make a stronger case for people that are apple-first, lure some from other places and any potential loss will become small. And if suddenly any other (MS? Google?) improve on it it will validate it more.
The reason I like Obj-C is the simplicity. You've got C, the most popular and widely deployed programming language in the world with libraries available for pretty much everything. Then you add a minimal slice of proven Smalltalk constructs on top, completely orthogonal to the base language. There's rarely a question about whether you should be doing something the high-level object-oriented message passing way, or the low-level C "functions & struct pointers" way. The two play together with no surprises (unlike C++ which is a minefield of surprises for the C programmer).
Swift threw away the Smalltalk-like simple dynamism of Objective-C. Instead it gives you syntax that's got more sprawl than Scala; a swamp of type system combinatorial explosions that can rival C++; language instability on par with modern JavaScript; and the coup de grâce is that all this is connected at the hip to a giant framework that doesn't feel Swift-native because it's actually an Objective-C API with decades of baggage.
At the same time, Apple likes to pretend that Swift is a beginner-friendly language. It's a floor wax and a desert topping — and after you've iced the cake with a thick layer of Swift you can apparently both have it and eat it.
[1] https://www.tiobe.com/tiobe-index/programming-languages-defi...