When Apple unveiled Swift in 2014, the company made it clear that it wanted the programming language to eventually replace Objective-C, which developers had used for thirty years to build apps and services for Apple’s software ecosystem.
But something funny happened: Despite all the attention lavished on Swift, Objective-C managed to retain a significant number of developers. This partially had to do with all the legacy code written in Objective-C, which would’ve been a huge pain to convert into a newer language. Many developers were also unwilling to commit to early versions of Swift until the language added more features.
However, Swift has matured considerably over the past several years, leading to a spike in adoption. According to the latest update to the TIOBE Index, which tracks the world’s most popular programming languages, Swift now sits in 10th place, up from 13th place a year ago, while Objective-C has tumbled out of the list’s top 20 spots. Swift recently hit version 5.5; the latest features include:
- Async sequences
- Effectful read-only properties
- Structured concurrency
- Async let bindings
- Continuations for interfacing async tasks with synchronous code
- Global actors
- Sendable and @Sendable closures
- if for postfix member expressions
- Allow interchangeable use of CGFloat and Double types
- Codable synthesis for enums with associated values
- Lazy now works in local contexts
- Extend property wrappers to function and closure parameters
- Extending static member lookup in generic contexts
On Hacking with Swift, Paul Hudson has a nice breakdown of some of these features, especially async/await, which lets anyone working with Swift “run complex asynchronous code almost [as] if it were synchronous.” Those are exactly the kind of tweaks that will attract new developers—and given the popularity of the Apple ecosystem, it will be interesting to see if Swift continues its climb up the TIOBE list.
To determine its rankings, TIOBE leverages data from a variety of aggregators and search engines, including Google, Wikipedia, YouTube, and Amazon. For a language to rank, it must be Turing complete, have its own Wikipedia entry, and earn more than 5,000 hits for +”<language> programming” on Google. (That methodology has obviously sparked complaints that TIOBE isn’t a scientific measure of languages’ respective popularity; nonetheless, it’s a solid indicator of languages’ “buzz.”)
If you’re interested in building apps for iOS, macOS, and whatever else Apple might roll out over the next year or two, there’s no better time to engage with Swift. And if you’re totally new to the language, it’s helpful to learn arrays, sets, strings, structs and classes, functions, and more. Swift Playgrounds is a good place to start for many budding technologists, because it makes learning the language into a fun activity; for those who consider themselves more advanced, Swift.org has lots of good documentation.