
Foreword
When I visited JetBrains for the first time in Spring 2010, I came in fairly certain that the world didn’t need another general-purpose programming language. I thought that existing JVM languages were good enough, and who in their right mind creates a new language anyway? After about an hour discussing production issues in large-scale codebases I was convinced otherwise, and the first ideas that later became part of Kotlin were sketched on a whiteboard. I joined JetBrains shortly after to lead the design of the language and work on the compiler.
Today, more than six years later, we have our second release approaching. There are over 30 people on the team and thousands of active users, and we still have more exciting design ideas than I can handle easily. But don’t worry, those ideas have to pass a rather thorough examination before they get into the language. We want Kotlin of the future to still fit into a single reasonably sized book.
Learning a programming language is an exciting and often very rewarding endeavor. If it’s your first one, you’re learning the whole new world of programming through it. If it’s not, it makes you think about familiar things in new terms and thus understand them more deeply and on a higher level of abstraction. This book is primarily targeted for the latter kind of reader, those already familiar with Java.