My memory might fail me, but I thought Swift 4 was supposed to be "the last major breakage"? Swift has a new major revision every year.<p>Compare this to Go (no major revisions after 6 years, probably a backwards-compatible major revision in 2-3 years) and Rust (no major revisions after 3 years, but with a mechanism called "editions"). To say nothing about Java or C#.
What I really miss in Swift are user definable attributes. Also I would like to have the Objective-C attribute that requires you to always call super. I don't think that Swift even honors that attribute if it is defined in Objective-C.<p>I consider it weird that the "where" keyword can't be applied in more places, only in case and for ... in I believe it works. Seems like some weird remnant of "what cool feature of C# could we borrow?" that never really got a full rollout.<p>Also I would like to have a "not" keyword instead of using the easily overlooked !. Such a nice feature of F# (and Visual Basic?).<p>Good to see count(where:) coming to the language, I often missed it. And probably is faster than filter since it doesn't create an array of results first.<p>Apart from that Swift 5 doesn't seem to be super different from 4. But that's what I expected already.
It's been two years since I last worked with Swift. I absolutely loved Swift as a language but abhorred these updates.<p>It was an absolute nightmare to get a project updated then spend hours and hours fixing stupid issues with dependencies.
Question for the HN language designers: do you think it's possible to provide ABI stability when the language still doesn't provide the full promised features for concurrency ? (ex: async / await, agent based concurrency, and all the features talked about in chris lattner's concurrency manifesto)
"The primary goal of Swift 5.0 is for the language to achieve ABI stability."<p>"Apple’s Chris Lattner, original creator of the Swift language, has recently announced on the Swift Evolution mailing list that ABI stability, one of the goals originally planned for Swift 3, will be postponed."<p><a href="https://www.infoq.com/news/2016/05/swift-3-no-stable-abi" rel="nofollow">https://www.infoq.com/news/2016/05/swift-3-no-stable-abi</a>
Swift suffered the fate, of being a language developed by an academic to say and developed within a large corporation. It ended up being a complex language with useful features. Newbie hackers can't at all master protocols, generics and all the cruft. If it was simple as GO, and from day one designed to run on servers instead of iOS, Swift would've had incredible adoption given features as optionals, type safety and python/c like syntax & first class functions.
OK...stupid question.<p>Why not use Flutter? Even React Native is cross platform. Why are we still using a programming language for a phone app that means we have to write the darn thing twice? Even a RN webview pointing at an IP with code written in whatever-lang is seemingly a better choice.