Overview
Andre Breslav, creator of Kotlin, discusses how he built one of the world’s most influential programming languages by deliberately borrowing proven ideas from Scala, C#, and Groovy rather than inventing new concepts. The language now runs on billions of Android devices and transformed mobile development when Google made it official in 2017, catching even the Kotlin team by surprise.
Key Takeaways
- Build on proven ideas rather than inventing from scratch - Kotlin succeeded by taking the best features from existing languages like Scala’s data classes, C#’s extensions, and Groovy’s builders, then adapting them for practical use
- Seamless interoperability with existing ecosystems is crucial but extremely complex - Making Kotlin work transparently with Java required years of engineering effort, including custom compilation tricks and type system workarounds that weren’t visible to developers
- Target growing platforms for language adoption - Kotlin found massive success on Android because mobile developers were stuck with outdated Java versions while iOS had Swift, creating pent-up demand for modern language features
- Backwards compatibility requires extensive tooling and planning - The team spent a full year before 1.0 release prohibiting features that might conflict with future additions, plus building automated migration tools and experimental feature flags
- AI coding agents create a new problem: intent gets lost - When you prompt an agent in English but commit machine code, your teammates only see the implementation, not the reasoning behind it
Topics Covered
- 0:00 - Introduction and Early Career: Andre’s background in St. Petersburg, teaching programming, working at Borland, and PhD studies in domain-specific languages
- 3:30 - The JetBrains Opportunity: How JetBrains approached Andre to create a new programming language and the initial pitch about Java’s stagnation
- 6:00 - Language Design Philosophy: Comparing dynamic vs static languages, and why they chose to build a pragmatic static language for industry use
- 9:00 - Standing on Shoulders of Giants: How Kotlin borrowed successful ideas from Scala, C#, Groovy and other languages rather than inventing new concepts
- 14:00 - Building a Language from Scratch: The whiteboard design process, starting with an IDE plugin, and the challenges of bootstrapping a compiler
- 21:00 - Naming and Early Development: The story behind the Kotlin name, early team composition with fresh graduates, and 6-year development timeline
- 25:00 - Core Language Features: Key differentiators like null safety, reduced boilerplate, type inference, and smart casts
- 31:00 - Design Decisions and Regrets: Features borrowed from other languages, things left out like pattern matching, and the ternary operator regret
- 45:00 - Java Interoperability Challenge: The massive engineering effort required to make Kotlin work seamlessly with existing Java code and libraries
- 55:00 - Development Process and Release: Team growth, bootstrapping challenges, backwards compatibility planning, and the 2016 release
- 1:07:00 - Android Adoption Story: How Kotlin accidentally found success on Android, the Google I/O 2017 announcement, and explosive growth
- 1:18:00 - CodeSpeak - The Future Project: Andre’s new programming language based on English, designed for the AI era where intent matters more than implementation
- 1:28:00 - AI’s Impact on Programming: How AI coding agents are changing development, the review problem, and why humans will remain essential for managing complexity