Kotlin Creator Andrey Breslav on Language Design
Press Space for next Tweet
How was one of the most loved programming languages - Kotlin - created, and what is next after it? With @abreslav, creator of Kotlin, now building @codespeak_dev Watch: 00:00 Intro 02:02 Why Kotlin was created 07:26 Dynamic vs. static languages 10:27 Andrey joins the Kotlin project 15:26 Designing a new language 20:40 Frontend vs. Backend in language design 22:05 Why is it named Kotlin? 25:37 Kotlin vs. Java tradeoffs 29:32 Null safety 32:24 Scala, Groovy, C# influence 40:12 Smart casts 45:54 Java interoperability 56:01 Kotlin's development process 1:08:20 Android 1:19:20 CodeSpeak: a language for LLMs 1:25:07 LLMs and new languages 1:29:20 How software engineering is changing with AI 1:37:12 Developer tools of the future 1:40:00 Andrey's advice for devs Brought to you by: • @statsig — The unified platform for flags, analytics, experiments, and more. http://statsig.com/pragmatic • @SonarSource – The makers of SonarQube, the industry standard for automated code review. Join me online at the Sonar Summit on March 3rd: http://sonarsource.com/pragmatic/sonarsu… • @WorkOS – Everything you need to make your app enterprise ready. https://workos.com Three things you probably did not know about Kotlin: 1. Kotlin’s first version was not a compiler: it was an IDE plugin. In a smart move, Andrey decided to build an IDE plugin that utilized IntelliJ’s parsing infrastructure first. This let Andrey demo the language interactively before anything could compile.! As he recalled: “I could show off the language as if it existed because it had some tooling, but I couldn’t compile anything.” 2. The initial Kotlin team was almost entirely made up of new grads Andrey hired from his former students because he knew how to work with students, from his university days. Many became core contributors who built foundational parts of the language. I found this story inspiring: it’s a reminder that you don’t need lots of experience to build durable things, as long as you are a fast learner. 3. Omitting the ternary operator from Kotlin is Andrey’s biggest design regret. Andrey removed this operator it because if was already an expression, freeing up ? and : for nullable types and type annotations. But if, as an expression, turned out to be verbose. Andrey noted: “by the time I agreed [that removing the operator was a mistake], it was too late because you can’t retrofit the ternary operator in the current syntax.” (See the next reply for links to watch/listen on other platforms)
Topics
Read the stories that matter.The stories and ideas that actually matter.
Save hours a day in 5 minutesTurn hours of scrolling into a five minute read.