Over the past few years, a number of upstart programming languages have emerged in the mobile-development arena, looking to supplant “old guard” languages such as Java. These newer languages, which include Kotlin and Swift, boast features meant to attract developers. But are they actually getting much traction?
The answer, as you might expect, is a bit complicated. IEEE Spectrum’s top languages for mobile development offers some insight into how the newer languages currently match up against their predecessors. In short, the latter (including Java, C, and C++) still dominate, but the newer ones are making their presence known. Check out the chart:
How does IEEE determine these rankings? First, it pulls 300 programming languages from GitHub, then narrows that down to the 52 that earned the most search results in Google. IEEE then gauges those 52 using 11 metrics, including data from Twitter, GitHub, and Stack Overflow. You can then isolate languages by category, including web, mobile, embedded, and enterprise.
As we’ve pointed out in the past, it’s very possible to take issue with this methodology. Indeed, every programming-language ranking methodology can be problematic in some way. Just ask critics of the TIOBE Index (updated monthly), who like to argue that its reliance on YouTube and Wikipedia as data sources (among others) make it more a reflection of various languages’ “buzz” than actual usage. IEEE, like analyst firm RedMonk, seems to curate sources with an eye toward both usage and developer chatter.
Although Java ranks high on IEEE’s list (no doubt due to Android), Google dearly wants mobile developers to switch to Kotlin as their language of choice. The tech giant’s new learning course, Android Basics in Kotlin, is meant to give even the newest mobile developers the tools necessary to begin putting apps together. Once you’ve absorbed that, you can turn to Kotlin Bootcamp for Programmers, Android Kotlin Fundamentals, and, for those with a bit more experience, Advanced Android in Kotlin.
If you’re interested in building Android apps, also check out Google’s Android Basics curriculum, which walks students through Android Studio and other tools.
On the iOS side of the equation, Apple is similarly desperate to have developers abandon Objective-C, the decades-old language for building apps for Apple’s ecosystem, in favor of Swift, which has become a much more robust language since its launch in 2014. Fortunately for those who are totally new to Swift, there’s a lot of documentation about how to work with Swift’s functions, loops, sets, arrays, strings, and structures (structs).
On IEEE’s list, at least, Swift has handily overtaken Objective-C, while Kotlin has quite some distance to go before it can possibly begin to challenge Java, which has a massive base of users and legacy code. If you’re interested in mobile development as a career, take these rankings into consideration when deciding which languages to learn; just because the older languages still rank higher doesn’t mean you shouldn’t try to learn the newer ones (especially in the case of Kotlin, where Google seems all-in).