To me, the most interesting empirical result of the Swift language evolution so far is the lack of urgency on language-level concurrency.<p>If they think they can be competitive for years (at the very least vs. Objective-C) with only platform-level concurrency support, it makes me wonder whether concurrency is generally better provided by the platform instead of the language for most needs.<p>Conventional wisdom would have it that for a systems & application language designed in 2014, a good concurrency story would be close to job #1.
So Swift has been out awhile, what do people think of it? What other language would you compare it to (e.g. C#, C, C++, etc)? What about the libraries are they well laid out?
Swift is fun. I'm having a great time playing around with it. There are some nuances that take some getting used to, but overall, it's a powerful, fast and fun language to work with.<p>If you are interested, I have taken on implementing all major design patterns in Swift. I've gone through about 10 of them right now, (7 published on my blog).<p>If you've never worked with Swift but wish to get a feel for it without going through overly simple tutorials, check them out:
<a href="https://shirazian.wordpress.com/2016/04/11/design-patterns-in-swift/" rel="nofollow">https://shirazian.wordpress.com/2016/04/11/design-patterns-i...</a>
Are there any plans in place for locking down the syntax? Major release 3 is coming and developers are still being expected to hit a moving target.<p>One of the nice things about C is that K&R era C is just as valid as C written nowadays, but Swift appears to be going in the opposite direction, every major release adding and removing bits of syntax.<p>As someone unfamiliar with the language, it makes me not want to pick it up, since guides and documentation I read now will be incompatible with the newer release when it happens. Some early toying around during Swift's original announcement led to hard-to-debug errors (in part, caused by terribly useless error messages) when trying identical code on newer releases.
While the language is nice, I find it hard to work with existing frameworks, given they are designed for a language as dynamic as objective-c.
For example, NSError, NSNotification's userInfo is a `[AnyObject:AnyObject]`, but its member types are specified in documentation. It would be nice if we can have specific error will typed userInfo. Working with storyboard is the same story, there is no type check for VC and segue because identifier is a string, instead of something like `R.id.view` on android. Working with this kind of API requires lots of casting, I wonder will Apple design Swift-centric API later.
Quite surprised to see no mention of Kotlin here since both languages are very similar, main difference is Swift is LLVM based while Kotlin run on the JVM and has excellent Java interoperability.<p>See <a href="http://fr.slideshare.net/andrzej_sitek/swift-and-kotlin-presentation" rel="nofollow">http://fr.slideshare.net/andrzej_sitek/swift-and-kotlin-pres...</a> for more details ...
Submitters: Please don't rewrite titles to say what you think is important about an article. Cherry-picking a single detail is a form of editorializing, which HN doesn't allow in story titles. The guidelines ask you to change titles only when they're misleading or linkbait, which wasn't the case here.<p>If you think one detail is most important, you're welcome to comment on that in the thread. Then your opinion is on the same level as other users'.<p>(Submitted title was 'Swift 3 will be portable / be able to run on more platforms'.)
Swift is great language and an enormous leap forward in the apple-sphere. I'd like to see a bigger investment in JavaScript everywhere. I'd like to see apple make a push to allow writing 100% javascript apps for iOS and mac. I think it could be a huge differentiator for iOS and Mac development and it would bring to Apple the largest developer base out there.