Chapter 1. What Were They Thinking?

Apple's release of Swift was a smashing hit from the very beginning. The language generated a lot of hype and it delivered. Of course, with the introduction of any new programming language, problems and issues will come along for the ride. Apple has carefully cultivated the young language, and has been steadily improving its base and introducing new features, support, and compatibility with its long mainstay incumbent, Objective-C. So, why would Apple open-source the language? What is Apple's objective and what does that tell us about the forthcoming release of Swift 3?

The focus of this chapter is to discuss Apple's goals for Swift 3, to show you where you can find the source of official information about new and current development in the language, and to explain how the community of developers will shape the fate of Swift as a language.

During the What's New In Swift lecture from Apple's World Wide Developer Conference (WWDC) 2016, Apple engineers outlined several goals for the upcoming release of Swift 3:

I want to briefly touch on a couple of themes here as it will provide a base for the material you will find in the remaining chapters:

  • Apple believes that for Swift to grow in adoption it needs a strong community. The path to rapid Swift adoption is to include the voices of the community in its development.
  • Swift is a general-purpose language that could and should run on any platform. Imagine running Swift on Linux or on the Internet of Things (IoT) you create or need to control. Apple believes that the Swift language is so capable that they removed the barriers that tied Swift to running on a Mac, opening endless possibilities for platform portability. Apple wants the community to find ways to get Swift to run on other platforms. Today, the Swift team is supporting a port to Linux. Tomorrow, the Swift team could have official support for a wide range of platforms.
  • In order to make the first two themes possible, the Swift team needs to get things right from the beginning with Swift 3. Unfortunately, this means that the new changes in Swift 3 do not work well with previous releases of Swift. The Swift 3 release will fix and remove things that were awkward in Swift 2 (and its predecessors). Swift 3 also re-imagines how it interacts with Cocoa and Objective-C to make the APIs that bridge them feel more Swifty.

Swift is a really big deal to Apple and expectations from the language are high. Apple has laid out its roadmap for how it expects to reach its goals. In fact, you can stay current with all things Swift by subscribing to one of the mailing lists found here https://swift.org/community/#mailing-lists. The main method for communicating with the Swift community is via mailing lists. You can find mailing lists that cater to general information as well as lists for day-to-day updates on the language. The Swift mailing lists can be a valuable tool that you should not overlook.

In the next section, we will talk about what the open source community means for you as a Swift developer.