I toyed with implementing Swift on the JVM (which is very doable by the way). The problem I've found with Swift is the minute size of the standard library. This has forced a large amount of Swift libraries to make calls to Objective-C/Cocoa classes libraries which makes it very non-portable. I haven't checked any time recently, but if a large, stable, swift-specific stdlib were to emerge then I believe it could definitely rival those other languages. Until then, most libraries will probably be Apple/OSX specific (not to mention Windows concerns).
I was going to make it use GC and make ARC-specific constructs a noop (I hadn't decided whether I wanted "weak" to be a JVM WeakReference or not, I did not get that far).
I think Rust fills a slightly different niche with its safety-first principle, but Swift should eventually be a really attractive choice for anyone building cross-platform stuff that also needs to run on iOS.
Swift has a huge advantage in that it's got a bigger community. It doesn't matter which language is the best. On StackOverFlow, for example, Swift has many more questions asked and answered. I've catalogued over 1000 blogs in the first year alone.
Do you realize how far Java reaches into the enterprise?
And with Swift's focus still being around the walled garden of iOS/OSX development, even with the open sourcing there are many more "IFs" to achieve before Swift rivals Java in adoption.
Don't get me wrong. I don't use Java and I have made apps for iOS (though not with Swift yet unfortunately). I like Swift and intend on trying it. But rivaling Java? Certainly no time soon.
Yes, I've done Java in the enterprise. It's a 20 year old language and there's an estimated 9 million Java developers.
Swift is only one1 but with open source and cross-platform ability (Microsoft will port to Windows), I think we have several million Swift developers with 5 years.
As much as I like Swift, without real garbage collection I wouldn't want to use it an any enterprise project. Keeping track of ownership of reference counted objects shared between who knows how many other objects sounds like a nightmare.
I'm referring to cases where you have to use unowned, etc, to break reference cycles. The larger the application the harder it is to find these issues.
I doubt it will be more attractive to functional programmers than Haskell, though; although the fact that it's an open source language that lets you do functional programming for iOS is pretty huge, IMO.
It would certainly be all sorts of ironic if (many) more Android apps were written in Swift than Go, all because Google doesn't want to replace Java with Go and make it the primary language, while Apple is doing that with Swift.
I'm assuming he's not talking about the GUI libraries, which would make it considerably less interesting. As far as I know C/C++ is still the only (free) way to write cross-platform mobile apps. If I can compile my apps on iOS and have them run on Android, then I am definitely interested.
QML is a declarative UI markup language with javascript scripting. Are there really any parallels to Swift? I haven't looked at it in any detail before.
True that Qt is a full C++ framework (my bad on that, i should know i use it everyday), but swift is nothing like QML.
QML is just a markup language that is interpreted by an engine written in C++, swift is a whole programming language that is compiled. It would be more fitting to compare C++ and swift than swift and Qt.