> In fact, Swift is really built on top of Objective-C, somewhat similar to how Objective-C is built on top of C, and somewhat similar to how C is built on top of assembly.
Apparently, this is not exactly the case:
> not [Objective-C] under the hood so much as on the side. Swift has its own (relatively minimal) runtime. [1]
> Swift interoperates with the ObjC runtime. It's not dependent on it. [2]
I believe this means that one day Swift could drop the Objective-C runtime & dependencies, perhaps in favor of a Cocoa evolution that doesn't rely on KVO, selectors, etc.
"In all likelihood, Objective-C will be a primary language for writing iOS and Mac OS X apps for awhile"
Swift should offer developers enough language/tooling improvements that it'll be quicker to simply dive in. Playgrounds, for example, will help us iterate quickly. Swift is easily added to an existing project, and you can release to iOS7.
And yes, the Swift that you write in 18 months will be different than what you start writing now, but it's going to be that way no matter when you start. Might as well get on it.
Yes but I have projects that are huge, make a ton of money for the customer, and are written in Objective-C. I'm not going to throw them out because Swift came along. And a rewrite is out of the question. I need guys that can work on those and use Swift.
Shouldn't be a problem for a couple of years. I imagine, however, since the app market is so competitive, most people will crank out their new large apps in Swift because they will have fewer bugs, and require fewer lines of code. So, all the new guys will start with Swift.
I know a handful of dev shops that will begin using swift for all new client projects. I doubt we'll see swift being intermingled into legacy projects, although I'm pretty sure we'll see tons of objc intermingled into "swift first" projects.
iOS apps are so lightweight in general that kicking off new projects in swift wont be much of a risk.
Exactly. In either case there's nearly 30 years of libraries to learn to be effective on Apple platforms. (Significant traces of work done at NeXT remain, which started in the mid-80s, I believe.) The language itself is the least of your worries.
That said, I am excited about Swift because the hardest part of teaching new developers to work on Apple platforms is the fact that you need to understand C to write Objective-C.
How many weeks until we start seeing job postings requiring "5 years experience programming in Swift"? (Saw the same thing happen with Java just a few months after it was publicized.)
I agree with a lot of this. If you're on iOS you're going to have to know both Obj-C and Swift if you wish to prosper. Older apps aren't going to be rewritten just for a new language and you'll probably have to work on those. New ones will use swift and you'll need to know that too.
Not saying you can't get an app published using just swift. You can. But if you want to be an iOS "expert" learn both, IMHO. The knowledge will pay dividends.
Apparently, this is not exactly the case:
> not [Objective-C] under the hood so much as on the side. Swift has its own (relatively minimal) runtime. [1]
> Swift interoperates with the ObjC runtime. It's not dependent on it. [2]
I believe this means that one day Swift could drop the Objective-C runtime & dependencies, perhaps in favor of a Cocoa evolution that doesn't rely on KVO, selectors, etc.
[1]: https://twitter.com/jckarter/status/475503398087708672 [2]: https://twitter.com/jckarter/status/473848245047656449