Why I'm more bullish on Swift than one month ago

One month ago I was fairly bearish on Swift. Now, with some hands-on development experience & after some recent news I'm updating my rating to "buy into it soon". Here's why:

Gradual Adoption

Apple has made it very easy to adopt Swift for small parts of existing projects. No need to do a full rewrite of your codebase: you can mix & match Swift and Objective-C. While most people with even a fleeting interest in Swift will probably have read the first book, Apple released a second book specifically on integration which I think deserves an in-depth reading.

An easy way to get started with Swift is to use it to create app extensions for IOS8. These are small self-contained apps for IOS and OSX that integrate into the OS (Notification Center, Custom Keyboards) or other apps (e.g. Photo Filters). I expect that Apple's new "Ecosystem" strategy of building many small native apps that integrate well across OSX and IOS will encourage many developers to pick up Swift for some parts of new projects.

Productivity & Mindset

Way back, in the early 2000s, I first learned Objective-C because it was the only game in town if you wanted to build OSX apps. Memory management was painful & it took a "real programmer", not a PHP script-kiddies to write native code. The Objective-C mailing lists & forums were pretty lonely places, mostly populated by 90s graybeards ... but all of that changed when the iPhone launched. 

Overnight hordes of developers who grew up on "mere scripting languages" like Php, Ruby & Javascript suddenly wanted to learn this hot "new" language. Not because they liked the language but because the iPhone was the hot new thing. It forced them to learn this weird archaic 80's -style language. This was at a time when "modern" interpreted languages like Ruby allowed them to be far more productive.

In many ways Swift brings the productivity of interpreted languages to native app development without sacrificing speed. No more weird syntax, all the modern features you'd expect & above all: no more pointers or manual memory management. You can shave that gray beard now. Swift fits in well in a recent lineage of languages that combine the performance of compiled languages with the productivity of interpreted ones: Go, Hack, Rust & now Swift.

Swift is a better fit for the current development mindset bred by the rise of interpreted languages in the 2000s. I expect fast adoption because it's just easier for current devs to learn. When given the choice, few modern developers will choose Obj-C over Swift. 

Swift Simplifies the Compile Cycle

Swift really shines for prototyping and experimental programming with features like Playgrounds & great bilingual documentation to appeal to newcomers and experienced Objective-C devs alike. 80% of the complexity of an app lies in understanding the Frameworks you build upon. In the past exploring the Frameworks meant looking something in the docs, writing some quick dummy code, compiling it & running it to see how it behaves. Swift Playgrounds radically change this code/compile/test cycle: I find myself keeping a Playground open to quickly prototype something against APIs I'm not too familiar with, even if the target language is Objective-C. This simpler compile cycle allows me to write better code faster.

Opening Up

To many outsiders Apple still very much seems shut up like a clam, but everyone who's been to WWDC will agree that Apple is opening up big-time. Last week Apple published a blog about Swift, a first in company history & more importantly (and oft-overlooked): Xcode6 Beta 3 is now available for download even if you don't have a paid Apple Developer account.

Rumor says that Apple will eventually open-source Swift, given that Swift's inventor, Chris Lattner, has such a long history with open source. But as usual, Apple is taking it's time: don't expect that to happen before Swift goes to v1. Chris Lattner has also been interacting with the community about Swift's direction on his blog & Twitter account. Again, unprecedented for Apple.

Mass Adoption

Apple is setting new industry records for operating system adoption: never before have new systems been adopted by consumers so quickly. This provides a very enticing prospect for developers: a large base of consumers, with a proven willingness to actually pay for software, running the latest version of the OS, making it easier to develop for. Some types of projects now already naturally default to Swift development, e.g. extensions. I mostly see a lot ofexcitement for Swift from newer devs coming from the interpreted Ruby-style camp. Apple is enticing us devs with a big tasty carrot: access to a mass market while using tools that *actually make sense* to devs that are not traditional NeXT-style Apple greybeards.