Core Android Engineers Already Using, Liking Kotlin
Kotlin was a hot programming language even before Google awarded it first-class status for Android development in May, after which it got a lot hotter.
Looking around the Web, you can see the new open source darling is climbing in popularity indices, and you can find recent headlines like "Kotlin: the Upstart Coding Language Conquering Silicon Valley."
One thing it might be conquering is the mindset of Google's core Android development team, which yesterday indicated it's already using Kotlin in production code -- and liking it a lot. That news was revealed in an "Ask Us Anything" event on Reddit.
In the Reddit forum, 23 members of the Android O engineering team took part in an extensive Q&A that generated more than 680 comments.
Here's one of the questions and the answer by Stephanie Saad Cuthbertson, director of Product Management, Android:
Q: Do you think there will be a similar level of adoption for Kotlin as iOS has seen with Swift over the previous years?
A: I freely admit I'm biased, but I hope it will be much better. There are so many attributes which make Kotlin ideal for Android. Usually when you announce support for a new language it's nascent. Kotlin's story is incredibly strong RIGHT NOW.
It's totally interoperable with Android, it has wonderful IDE support and the whole Jetbrains team behind the language and the IDE support, it's 5 years old which means it's battle-tested and used in production by apps you've heard of like Pinterest and Square. I (and lots of us here) feel like our Kotlin support can get better and we're working very hard on that. But we also feel pretty excited that Kotlin is ready for us to use right now, and we're already using it ourselves to write code in Android Studio which gives us more ideas for making our support even better. Guess I'd say, I'm really grateful to Android developers for pointing us right direction. We're so glad we did this.
That Cuthbertson and her team are embracing Kotlin proabably shouldn't be a surprise, as she was quite effusive about it when she announced first-class support for the language at this year's Google I/O conference.
"Kotlin is what our developer community has already asked for," she said. "It makes developers so much more productive. It is fully Android runtime-compatible. It is totally interoperable with your existing code. It has fabulous IDE support and it's mature and production-ready from day one."
Many members of the Reddit online audience were clearly interested in Kotlin yesterday, and one asked, "Have you thought about replacing resource and layout files with Kotlin DSL files? Is it even possible?"
Mike Cleron, an engineer covering Android's application framework, system UI, and SDK, replied: "Yes -- and we don't know yet if it is possible or desirable (the resource system has a lot of subtle interactions with the rest of the platform) but are working on finding out."
Alan Viverette, manager of the Support Library team, added on: "We're focusing on solving a specific set of developer pain points first -- Kotlin DSLs have some attractive features, but there's a lot that can be fixed about layout and resources without moving to a new language. Is there anything that you'd like to see changed?"
And finally, Romain Guy, a member of the Android Graphics team responsible for Vulkan, OpenGL ES, SurfaceFlinger and Hardware Composer, also chimed in with: "I'm hiring :)" while providing a help-wanted link for a "Kotlin Software Engineer, Android Framework" to work in Mountain View, Calif.
Responsibilities for that job include:
- Help create compelling Kotlin APIs that allow developer to create powerful and efficient applications with ease.
- Help define Kotlin best practices for Android development.
- Collaborate with other Android teams such as the tools team and the runtime team (ART) on consistent basis.
Another Redditor noted they had seen the job posting and commented: "Additionally, I saw the recent job posting for a Kotlin Software Engineer for the Android framework team. :) While I'm not a fan of moving someplace else for a job, it's still exciting to see the enthusiasm with which Google and individuals on the Android team have been embracing and promoting Kotlin. Would we potentially start seeing enhancements to the Android APIs that make use of some of Kotlin's more powerful features like extension methods, sealed classes, et al.?"
The question at the end of that comment was left unanswered, as was this one: "As kotlin is got the citizenship in Android world, as developers should we even care for JDK8/9 support?"
Along with that mystery, among hundreds of other questions and comments the big issue of the day was also left unsolved: the treat beginning with the letter O that will serve as the nickname for the next version of Android. Many in the audience were thinking Oreo, but oatmeal and others were also mentioned. The big reveal might come next month.
David Ramel is the editor of Visual Studio Magazine.