June 3, 2014
Follow me on Twitter


Yesterday, Apple announced a new language, Swift. Officially, it doesn’t replace ObjC or ObjC++, the current languages. In practices, of course, we’ll see.

I’m about half-way through the readable part of the book. Swift is very much a member of the C family of languages. Some observations from Day One:

I don’t see any obvious reason Swift should be that much faster than Objective C. The popular coverage emphasizes execution speed, but I suspect that’s wool pulled over non-technical eyes. Some of the new features — range checks for boundary access, run-time type checking for downcasts, more reliance on call-by-value structs — come with modest performance penalties.

What I miss in the story so far is technical motivation: what are we trying to do, and what influences are we following? The introduction of Go, for example, was very good on this subject: we’re making life easy on the compiler so we can compile really quickly. ObjC didn’t have much motivation; it’s old, and it’s responding to old concerns. But Swift is new; a decent respect for the opinions of mankind should compel some statement of what they’re trying to accomplish.