Представьте: вы Java-разработчик, вы работаете в классной IT-компании, прикольный проект, всё идёт нормально, и вдруг на встрече команды CTO говорит — переводим backend на Kotlin.

Первая реакция у большинства: "Что? Зачем? Java же отлично работает."

Что такое Kotlin и почему разработчики массово добавляют его в резюме - 1

Вторая реакция — открываете Google и начинаете разбираться. И выясняется, что вы не первый, кто слышит такое от своего CTO. Kotlin набирает обороты уже несколько лет, и всё больше команд делают именно такой выбор.

Давайте разберёмся: что такое Kotlin, откуда он взялся и зачем его учить, если Java и так работает. Обещаем без евангелизма и криков "Java умерла!". Она не умерла. Она вообще чувствует себя прекрасно.

Кто создал Kotlin и зачем

Kotlin придумали в JetBrains — компании, которая делает IntelliJ IDEA. Ту самую IDE, в которой большинство Java-разработчиков проводит свой рабочий день.

Несколько лет они сами мучались с Java, пока писали IDEA. Бесконечный boilerplate, NullPointerException в production, код на двадцать строк там, где достаточно двух. Программисты — люди терпеливые, но и у них кончается терпение.

К тому же к тому времени другие языки — Scala, Groovy, Swift, C# — уже давно предлагали удобные вещи, которых в Java не хватало: null-safety, data class из одной строки, extension functions, лаконичные лямбды. Всё это было в других языках. Просто не в Java.

В какой-то момент в JetBrains решили: хватит страдать. Собрали лучшее из того, что уже придумали другие, добавили своё — и написали язык, который работает на той же JVM, использует те же библиотеки и при этом не заставляет Java-разработчика переучиваться с нуля.

Так в 2016 году появился Kotlin. И нет, название не от котов. Это остров в Финском заливе. Java назвали в честь острова Ява — с кофе. Kotlin назвали в честь острова Котлин — без кофе, но с хорошей системой типов.

Почему Google поддержал Kotlin — и при чём тут Oracle

В 2017 году Google объявил Kotlin официальным языком для Android.

Официально — потому что разработчики просили, язык удобнее и безопаснее. Это правда.

Но есть история, о которой стоит знать.

С 2010 года Google судился с Oracle из-за Java API в Android. Oracle купил Sun Microsystems вместе с Java и сразу предъявил иск: Google якобы использовал 37 Java API без лицензии. Требовали $8,8 миллиарда. Дело дошло до Верховного суда США и закончилось победой Google только в 2021 году.

Что такое Kotlin и почему разработчики массово добавляют его в резюме - 2

Одиннадцать лет под угрозой многомиллиардного иска. Для понимания масштаба: $8,8 миллиарда — это примерно 88 000 хороших senior-разработчиков на год. Или очень много кофе.

Kotlin от JetBrains — открытый язык, никаких лицензионных рисков, полная совместимость с Java-экосистемой. Google официально связь с иском не подтверждал. Но логика очевидна.

Побочный эффект: конкуренция заставила Oracle активнее развивать Java. Records, sealed classes, pattern matching в новых версиях — в том числе потому, что нужно было не отставать. В итоге выиграли все разработчики на JVM.

Java всё ещё топ для backend — это важно понять

Легко запутаться, поэтому скажем прямо.

Java никуда не денётся. Spring, Hibernate, огромная кодовая база у большинства компаний — это работает и будет работать ещё очень долго. По количеству вакансий, объёму экосистемы и зрелости — Java по-прежнему индустриальный стандарт.

Kotlin растёт рядом. Всё больше команд пишут новые сервисы на Kotlin, оставляя старый Java-код как есть. По данным JetBrains Developer Survey 2024, Kotlin входит в топ-15 самых используемых языков в мире.

Это как молоток и шуруповёрт. Никто не объявляет молотку войну. Просто некоторые задачи удобнее решать шуруповёртом.

Чем Kotlin конкретно отличается от Java

Не на словах — покажем код.

Null-safety. Одна из главных болей Java — NullPointerException. Он не предупреждает. Не извиняется. Просто падает в runtime, обычно в production и желательно в пятницу вечером.

// Java — всё выглядит нормально, пока не упадёт
String name = null;
System.out.println(name.length()); // NPE. Привет, выходные.

// Kotlin — не скомпилируется
val name: String = null        // Ошибка компиляции
val name: String? = null       // Явно nullable — теперь окей
println(name?.length)          // Если null — вернёт null, не упадёт
println(name?.length ?: 0)     // Если null — вернёт 0

Компилятор Kotlin знает, где может быть null, и не выпускает код, пока вы это не обработаете. Как строгий тимлид, только без созвонов.

Data class. Классическая задача — модель данных с тремя полями.

// Java: конструктор, геттеры, equals, hashCode, toString
// Итого: примерно полстраницы кода, который никто не читает
public class User {
    private String name;
    private int age;
    ...
}

// Kotlin — одна строка
data class User(val name: String, val age: Int)

Kotlin сам генерирует всё остальное, включая copy() — метод для создания копии с изменёнными полями. В Java такого нет из коробки. Почему — хороший вопрос.

Extension functions. Добавляете метод к любому классу без наследования:

fun String.isPalindrome() = this == this.reversed()
println("racecar".isPalindrome()) // true

Корутины. Асинхронный код, который читается как синхронный. Без колбэков, без лапши из CompletableFuture, без слёз.

suspend fun loadData(id: Int) {
    val user = fetchUser(id)       // Ждём без блокировки потока
    val orders = fetchOrders(user)
    display(user, orders)
}

Стоит ли учить Kotlin прямо сейчас

Если вы работаете в Android — вопрос не стоит. Там Kotlin уже стандарт.

Если вы backend-разработчик на Java — зависит от того, где и куда хотите расти. Для legacy-проектов в больших корпорациях Kotlin пока не требуется. Но если рассматриваете продуктовые компании, стартапы или западный рынок — шансы встретить Kotlin в требованиях растут с каждым годом.

Хорошая новость: для Java-разработчика переход — это недели, не месяцы. Та же JVM, та же логика. IntelliJ IDEA уже стоит. Осталось только начать.

Помните анекдот про Хаима, которого бог посылал и грузовик, и лодку, и вертолёт, а он всё ждал знака? Не будьте Хаимом. Вот ваш знак.

Попробуйте прямо сейчас

У нас есть курс по Kotlin. 62 уровня, 1100+ задач с автопроверкой, 3 реальных проекта в портфолио. Та же игровая механика, что и в курсе по Java: только код, задачи и мгновенная проверка — никаких видео в пустоту.

Первый уровень бесплатно.

Читайте дальше по теме

Если хотите сразу перейти к практике или сравнить языки подробнее — вот два материала, которые логично идут следом: