Without making Switft available on other platforms also ( whether they support Cocoa or not. ), it may not be successful.
The reason is that.. if you choose other languages, you can use them directly on many platforms ( e.g. C/C++, Ruby, Perl, PHP, Python, etc ) or with a little effort ( Objective-C ). However Swift is solely for Mac now. Who is going to choose and learn a language which can be used on only one platform?
It may be Ok not to provide Cocoa/Cocoa Touch with Swift on other platforms. Like C/C++, different parties can provide their own ‘libraries’. Or it can be even better if Apple decides to provide Cocoa/Coco Touch on other platforms along with Swift, because Cocoa programmers can use their knowledge on those frameworks to make apps on other platforms.
Actually.. if I were the lead engineer of a ‘next generation of easy to use and learn language for LLVM’, I would have chosen Ruby. Will it be hard to make Ruby get benefit from LLVM? Ruby has nice OOP support and many 3rd party libraries ready to use, like Ruby on Rails. It’s modern and has lots of positive followers.
It looks to me that Perl is kind of gaining popularity also. It’s old language, but it has been the choice of CGI / Web /Script programmers for long time due to its trust-worthy solid base and tons of libraries. So, native code-generating Perl on LLVM sounds interesting also.
Probably Perl and Ruby have their own peculiarity which prevent them from being built on top of LLVM. But I doubt if there can be any such things.
Additionally I doubt if the performance of Swift code Federighi showed is the best and optimal result or general result. Why is Obj-C slower than Swift? Is there some really special aspect that the Swift is better suited for LLVM and multicore architecture? Is there any reason Obj-C can’t be as fast as Swift?
Lots of questions in my brain… Just hope that it won’t be like Dylan.