Google's Journey from Java to Kotlin for Server Side Programming by James Ward , Brad Hawkes , John

Join Google's James Ward, Brad Hawkes, and John as they share their journey from Java to Kotlin for server-side programming, highlighting the motivations, challenges, and successes of their migration.

Key takeaways
  • Google’s journey from Java to Kotlin was motivated by the need for a more modern, concise, and safe language for server-side programming.
  • Kotlin’s features such as null safety, coroutines, and interoperability with Java were major selling points.
  • Google’s existing codebase was a significant challenge, requiring a gradual migration approach.
  • The company uses thread locals for various purposes, including synchronization and multi-threading.
  • Coroutines have been a game-changer, allowing for asynchronous programming without the need for callbacks or threads.
  • Loom, a new concurrency feature, is still being developed and will be used in conjunction with coroutines.
  • Google’s ecosystem is complex, with multiple languages and frameworks, but Kotlin has been able to integrate well with existing tools and libraries.
  • The company is investing heavily in Kotlin, with a large team working on the language and its ecosystem.
  • Kotlin’s adoption has been rapid, with over 11 million lines of code written in the language.
  • Google is working to improve the developer experience, including the use of DSLs and auto-completion.
  • The company is also investing in static analysis and tooling to help developers write more reliable code.
  • Kotlin’s interoperability with Java has been a major advantage, allowing developers to reuse existing code and libraries.
  • Google’s experience with Kotlin has been largely positive, with developers reporting higher productivity and satisfaction.
  • The company is still working to address some challenges, including the need for better error handling and debugging tools.