This week, Apple's Swift programing language team released version 5 for use in Xcode 10.2, reaching the milestone of ABI stability-- compatibility with code compiled with future versions of Swift compilers-- and introducing new coding features for developers. Swift as a language is maturing alongside Apple's efforts to make code development an attainable skill for students.
A primary feature of the new release is Application Binary Interface stability across Apple platforms (macOS, iOS, watchOS and tvOS). This means that Swift has matured as a language to the point where there will no longer be huge changes in how its compiler works that breaks compatibility with Swift apps and libraries that have already been compiled into binary.
As a result, Swift 5's ABI stability means app code compiled with today's compiler won't need to be recompiled to work reliably with dynamically linked libraries compiled in future versions of Swift. And that means that apps will no longer need to bundle a known version of the standard libraries they use, and can instead use whatever updated version is provided by the OS. This is already the case with apps written in Objective C.
This, in turn, enables slimming the download size of Swift apps, both in the App Store and in internal deployment testing using TestFlight. Key Swift 5 features were earlier outlined by Apple's head of Swift development Ted Kremenek in John Sundell's Swift by Sundell podcast.
Swift 5 is officially released!
-- John Sundell (@johnsundell) March 25, 2019
Including...
ABI stability
#"Raw strings"#
Result
"Custom \(string: interpolation)"
dynamicCallable
flattened = try? optionals()
Full release notes: https://t.co/lro3JBqsU9
The new Swift 5 delivers a series of coding features outlined by Sundell in a tweet (above) and detailed in Apple's official release notes, including the ability to express String literals using enhanced delimiters to support raw text. This clarifies code by removing the need to escape quotes or backslashes.
Apple's decade of Swift
Chris Lattner started the development of Swift at Apple in July 2010, but Swift only made its first public appearance at Apple's 2014 Worldwide Developer Conference. By the end of 2015, Apple had released version 2.2 of new language as open-source software under Apache License 2.0, enabling its use on Linux and other platforms.
Lattner oversaw rapid, significant changes in the language across its first three major versions before officially handing the reins to Ted Kremenek in January 2017. At the time Lattner stated that Kremenek was "one of the quiet but incredible masterminds behind Swift (and Clang, and the Clang Static Analyzer) for many years."
Kremenek has worked at Apple since 2007, and was the principal architect and original engineer of the Clang Static Analyzer that ultimately ended up in Xcode. Between 2009 to 2013, Kremenek worked on the LLVM Front-end team. Since 2017 he has served as senior manager of languages and runtimes at Apple, responsible for implementing the programming language support in Apple's compilers for Swift as well as Objective-C, C, and C++.
Last year, Swift adoption rose to the point of reportedly tying Objective C as a top ten programming language in use among developers on GitHub and Stack Overflow, according to analysis firm RedMonk.
Brining Swift mainstream as an easy to learn language
Apple isn't just watching Swift gain adoption. The company launched its Everyone Can Code initiative in 2016 and has regularly expanded it to empower people with the ability to build their own apps and to teach others how to navigate the "language of technology," positioning Swift as both "great for getting started" and "super powerful."
A year ago, the company announced a partnership with Chicago Public Schools and Northwestern University, to establish a "Center for Excellence" at Lane Tech College Prep High School, an ambitious expansion of its ongoing plans to not only make Swift a popular language among today's developers, but also to reach the next generation coders.
Swift Playgrounds was designed by Apple to teach code development
The Chicago school now acts as a teaching and learning hub for high school teachers picking up Apple's "App Development with Swift" and "Everyone Can Code" courses designed to introduce Swift programming to the area's nearly 500,000 students. Apple's coding literacy program is also being supported by enterprise employers in the area, ranging from IBM to McDonald's to Rush University Medical Center.
Apple's chief executive Tim Cook stated at the time that "we believe every student should have the opportunity to learn to code and we are thrilled to help provide new learning opportunities for Chicago-area teachers so they can bring coding into their classrooms."
The company has also leveraged its own work in accessibility technology to bring its Everyone Can Code course to students with vision, hearing or physical motor limitations via VoiceOver and Switch Control-- which enables switches, joysticks and other adaptive devices to control what is on the screen.
Accessible Swift courses were launched last fall at the California School for the Blind, the California School for the Deaf, District 75 in New York, Florida School for the Deaf and the Blind, the Hadley Institute for the Blind and Visually Impaired, the Perkins School for the Blind, the Texas School for the Blind and visually Impaired, and the Texas School for the Deaf.
Over 30 U.S. community colleges are now offering App Development With Swift, including Austin Community College in Texas and Northeast Mississippi Community College. Some high schools are adopting Apple's Swift development courses as well.
Dream Corps, an organization founded by Prince and located in Oakland Calif., just partnered with Apple in February to expand its educational and workforce development opportunities with an emphasis on teaching Apple's Swift programming language. The program broadly targets middle schoolers, college students "and beyond" to equip people from underrepresented backgrounds with the job skills to enter the market or drive their own entrepreneurship.
Apple has also outlined plans to bring Everyone Can Code to over 70 schools outside the USA, such as RMIT University in Australia, Harlow College and Plymouth University in the U.K., Mercantec Vocational College in Denmark, Hogeschool van Arnhem en Nijmegen in the Netherlands, Simplon vocational schools in Paris and Lyon, and other educational partners in Austria, Belgium, Czech Republic, Germany, Italy, Spain, Sweden, Norway, Ireland, Luxembourg, Poland, and Portugal.
The company also operates an app accelerator in India, and set up a "Developer Academy" in Italy, run in partnership with the University of Naples Federico II, highlighting its global efforts to expand the talent pool capable of writing apps for its platforms.