Follow me on Twitter to get notified about new talks.

Shoulders of Giants: Languages Kotlin Learned From

New languages are inspired by existing languages: every generation learns from the previous one. Kotlin is no exception: its design is based substantially on the designs of languages such as Java, Scala, C#, Groovy, Python, Nice, etc. This talk explains which parts of the design are inspired by which languages and what Kotlin does differently in each case.

KDD'22, GeekOUT'18, Java.IL'22, SGInt'22; RU: Mobius'18, JPoint'18

How to Kotlin

Kotlin is similar to the Java programming language, so it's natural that your Kotlin code looks very much like Java code when you first start to use the language. While this is fine to begin with, you're probably not taking full advantage of all the language benefits. In this session, I show how you can write more idiomatic Kotlin, and what the benefits are.

Google I/O'18

How Agile Can Language Development Be?

A successful project usually grows, and Kotlin is no exception. This talk is about how we deal with legacy and compatibility issues, and whether there will ever be Kotlin 2.0. We'll also talk about “continuous delivery” for language features, or, more generally, how agile can language development be?

MiXiT'17 [Slides]

Challenges in Language Design

Programming language design in its modern sense is not limited to syntax nor to execution semantics: the presence of IDEs, build systems, and other tools opens up new dimensions in the design space. This talk is about interesting problems we are facing while working on the Kotlin programming language at JetBrains.

CurryOn'15 (ECOOP'15), Slides | RU:  JPoint'14

Flexible Types in Kotlin

Interoperability with Java may well have been the biggest challenge for Kotlin. This talk details the problem of seamlessly calling into Java code and back and the solution we arrived at after a few years of experimentation.

JVMLS'15 [Slides] | Previous version of Java interop: JVMLS'12

Kotlin: Practical Aspects of JVM Language Implementation

Java is a platform, not only a language. But how much can a JVM language be different from Java? It turns out that you can do everything, but sometimes at a price that you (or your users) won't be willing to pay.

This presentation summarizes JetBrains' exploration of possible solutions to well-known problems with Java that took place during work on the Kotlin programming language.

Java One'12 [Slides]

Who's More Functional: Kotlin, Groovy, Scala or Java?

What is "functional programming" (FP)? Is it a paradigm, a mindset, or just a buzzword? What's good about it? How can we benefit from it? This session is about the functional aspects of modern programming languages and their costs and benefits. As the mainstream languages rely on object orientation, the session presents the "functional style" as a set of design patterns that have been well-known in the object-oriented (OO) community for the last two decades.

Java One'13

The Kotlin Programming Language (2011)

The earliest surviving public Kotlin talk. This is proof that I indeed had a beard when I presented Kotlin at StrangeLoop in 2011. The video from the very first presentation, at JVMLS the same year, seems to have been lost but the beard was there, too. Slides from the JVMLS talk can be found here.

If you are at a loss about beards and programming languages, here's an explanation for you.


All Kotlin Talks

You can find more than 50 of my Kotlin talks on YouTube using this playlist:

It includes both the talks in English and in Russian.
More slides are available on Slideshare.

In Russian

Ментальное здоровье и Психотерапия

Лидерство и Soft Skills

Гендерный баланс

Полиамория / Немоногамные отношения

Обзорные интервью, затрагивающее разные темы

Все выступления на русском языке

Все выступления на русском языке доступны единым плейлистом на YouTube