Imagine la scène : tu es développeur Java, tu travailles dans une bonne boîte tech, projet sympa, tout roule — et là, lors d'une réunion d'équipe, ton CTO annonce : on migre le backend sur Kotlin.

Première réaction de la plupart : « Quoi ? Pourquoi ? Java marche très bien pourtant. »

C'est quoi Kotlin et pourquoi les développeurs l'ajoutent à leur CV - 1

Deuxième réaction — tu ouvres Google et tu commences à creuser. Et tu découvres que tu n'es pas le premier à entendre ça de son CTO. Kotlin monte en puissance depuis des années, et de plus en plus d'équipes font exactement ce choix.

Alors décortiquons tout ça : c'est quoi Kotlin, d'où ça vient, et pourquoi l'apprendre si Java fonctionne déjà ? Pas d'évangélisme, pas de « Java est mort ! ». Il ne l'est pas. Il se porte très bien.

Qui a créé Kotlin et pourquoi

Kotlin a été créé par JetBrains — la boîte derrière IntelliJ IDEA. Oui, l'IDE dans lequel la plupart des développeurs Java passent leurs journées.

Pendant des années, ils se sont eux-mêmes battus avec Java en développant IDEA. Boilerplate infini, NullPointerExceptions en production, vingt lignes de code là où deux auraient suffi. Les développeurs sont patients — mais la patience a des limites.

En plus, d'autres langages — Scala, Groovy, Swift, C# — proposaient depuis longtemps des fonctionnalités que Java n'avait pas : null-safety, data classes en une ligne, extension functions, lambdas concises. Tout ça existait ailleurs. Juste pas en Java.

À un moment, chez JetBrains, la décision a été prise : assez souffert. Ils ont rassemblé les meilleures idées de ce que d'autres avaient déjà inventé, y ont ajouté les leurs — et ont créé un langage qui tourne sur la même JVM, utilise les mêmes bibliothèques, et ne force pas les développeurs Java à repartir de zéro.

C'est ainsi qu'est né Kotlin en 2016. Et non, le nom n'a rien à voir avec les chats. C'est une île dans le golfe de Finlande. Java doit son nom à l'île de Java — avec le café. Kotlin doit le sien à l'île Kotlin — sans café, mais avec un solide système de types.

Pourquoi Google a misé sur Kotlin — et quel est le rôle d'Oracle

En 2017, Google a annoncé Kotlin comme langage officiel pour Android.

Officiellement — parce que les développeurs le demandaient et que le langage est plus sûr et plus pratique. C'est vrai.

Mais il y a une histoire en coulisses qui mérite d'être connue.

À partir de 2010, Google était engagé dans un procès avec Oracle au sujet de l'utilisation des API Java dans Android. Oracle avait racheté Sun Microsystems avec Java et avait immédiatement attaqué : Google aurait utilisé 37 API Java sans licence. La demande : 8,8 milliards de dollars. L'affaire est allée jusqu'à la Cour suprême des États-Unis et s'est terminée en faveur de Google seulement en 2021.

C'est quoi Kotlin et pourquoi les développeurs l'ajoutent à leur CV - 2

Onze ans sous la menace d'un procès à plusieurs milliards. Pour se faire une idée : 8,8 milliards de dollars, c'est environ 88 000 bons développeurs seniors pendant un an. Ou une quantité vraiment déraisonnable de café.

Kotlin de JetBrains est open source, sans aucun risque de licence, et entièrement compatible avec l'écosystème Java. Google n'a jamais officiellement lié sa décision au procès. Mais la logique parle d'elle-même.

Effet positif inattendu : la concurrence a poussé Oracle à développer Java plus activement. Records, sealed classes, pattern matching dans les nouvelles versions — en partie parce qu'il fallait tenir le rythme de Kotlin. Au final, tous les développeurs JVM y ont gagné.

Java reste la colonne vertébrale du backend — et c'est important

Il est facile de s'y perdre, alors soyons directs.

Java ne va nulle part. Spring, Hibernate, d'énormes codebases dans la plupart des entreprises — tout ça fonctionne et continuera de fonctionner encore très longtemps. En termes d'offres d'emploi, de taille d'écosystème et de maturité, Java reste le standard de l'industrie.

Kotlin grandit à ses côtés. De plus en plus d'équipes écrivent de nouveaux services en Kotlin tout en laissant le code Java existant intact. D'après le JetBrains Developer Survey 2024, Kotlin fait partie des 15 langages les plus utilisés au monde.

Pense-y comme un marteau et une visseuse. Personne ne déclare la guerre au marteau. Certaines tâches sont juste plus faciles avec la visseuse.

En quoi Kotlin diffère concrètement de Java

Pas en théorie — regardons le code.

Null-safety. L'un des grands maux de tête de Java, c'est le NullPointerException. Il ne prévient pas. Il ne s'excuse pas. Il plante juste en runtime — généralement en production, et de préférence un vendredi soir.

// Java — tout a l'air bien jusqu'à ce que ça plante
String name = null;
System.out.println(name.length()); // NPE. Bon week-end.

// Kotlin — ne compile même pas
val name: String = null        // Erreur de compilation
val name: String? = null       // Explicitement nullable — OK maintenant
println(name?.length)          // Si null — retourne null, ne plante pas
println(name?.length ?: 0)     // Si null — retourne 0

Le compilateur Kotlin sait où null peut apparaître et ne laisse pas passer le code tant que tu ne l'as pas géré. Comme un tech lead strict — sans les messages Slack interminables.

Data class. Tâche classique — un modèle de données avec trois champs.

// Java : constructeur, getters, equals, hashCode, toString
// Total : environ une demi-page de code que personne ne lit
public class User {
    private String name;
    private int age;
    ...
}

// Kotlin — une ligne
data class User(val name: String, val age: Int)

Kotlin génère tout le reste automatiquement, y compris copy() — une méthode pour créer une copie avec des champs modifiés. Java n'a pas ça out of the box. Pourquoi — bonne question.

Extension functions. Ajouter une méthode à n'importe quelle classe sans héritage :

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

Coroutines. Du code asynchrone qui se lit comme du code synchrone. Pas de callbacks, pas de chaînes CompletableFuture en pagaille, pas de larmes.

suspend fun loadData(id: Int) {
    val user = fetchUser(id)       // Attend sans bloquer le thread
    val orders = fetchOrders(user)
    display(user, orders)
}

Faut-il apprendre Kotlin maintenant

Si tu travailles sur Android — la question ne se pose pas. Kotlin est déjà le standard là-bas.

Si tu es développeur backend Java — ça dépend de là où tu es et où tu veux aller. Pour les projets legacy dans les grandes entreprises, Kotlin n'est pas encore une exigence absolue. Mais si tu vises des boîtes produit, des startups ou le marché international, les chances de voir Kotlin dans les offres d'emploi augmentent chaque année.

Bonne nouvelle : pour un développeur Java, la transition prend des semaines, pas des mois. Même JVM, même logique. IntelliJ IDEA est déjà installé. Il suffit de commencer.

Tu connais cette vieille histoire — un homme dont la maison est inondée prie pour être sauvé, et Dieu lui envoie un camion, puis un bateau, puis un hélicoptère, mais il refuse à chaque fois en attendant un vrai miracle ? Ne sois pas cette personne. C'est ton signe.

Essaie maintenant

On a un cours Kotlin. 62 niveaux, plus de 1 100 exercices avec vérification automatique, 3 vrais projets pour ton portfolio. La même mécanique ludique que le cours Java : juste du code, des exercices et un feedback instantané — pas de cours magistraux dans le vide.

Le premier niveau est gratuit.

Continuer la lecture

Si tu veux passer directement à la pratique ou comparer les langages plus en détail — voici deux articles qui s'enchaînent naturellement :