Entretien avec Sebastian Aigner [JetBrains] : Comment apprendre Kotlin? | IDE et navigateur, livres et tutoriels, débutants et dev Java
Kotlin m’enthousiasme parce qu’il est dans le diagramme de Venn des langages bien conçus qui sont également un bon choix en pratique grâce à son outillage, son pragmatisme et la taille de sa communauté.
Kotlin est connu principalement aujourd’hui pour la programmation Backend et Android. Mais les gens plus aventureux l’utilisent dans plein d’autres domaines: scripts Kotlin dans Gradle, Data Science, partage de code entre iOS et Android, sur le front-end – voir par exemple JetBrains Space, Kotlin Native pour applications en ligne de commande, …
Mais commençons par le commencement.
Si vous êtes intéressés par Kotlin, la première question que vous vous posez est certainement:
Quelle est la manière la plus efficace d’apprendre Kotlin ?
J’ai rencontré Sebastian Aigner à KotlinConf 2019 où il a présenté l’ensemble des options qui s’offrent à vous.
Du coup je me suis dit que j’allais l’interviewer pour vous.
- Qui êtes-vous ?
- Que propose JetBrains en termes de contenus éducatifs ?
- Si je suis nouveau à la programmation
- Si je suis un dev Java
- Si je veux pratiquer Kotlin dans l’IDE
- Si je suis un prof ou un mainteneur de bibliothèque Kotlin
- Comment vous contacter ?
- Bonus : Je connais Kotlin, comment explorer son écosystème ?
Qui êtes-vous ?
Jean-Michel Fayard : Sebastian, pour commencer, pouvez-vous dire quelques mots sur qui vous êtes ?
Sebastian Aigner : Bonjour et merci pour cette interview !
Je suis Sebastian et je travaille comme Developer Advocate chez JetBrains où je me focalise sur Kotlin et les projets éducatifs de JetBrains.
Sur la partie Kotlin, mon sujet de prédilection est de pousser l’utilisation de Kotlin sur les applis web, via le compilateur Kotlin vers JavaScript.
Sur la partie éducation, ma mission est de permettre aux éducateurs et aux élèves d’apprendre Kotlin plus facilement en développant les outils qui leur facilitent la tâche.
Que propose JetBrains en termes de contenus éducatifs ?
JMF : Vous travaillez à JetBrains sur les contenus éducatifs. Pouvez-vous expliquer brièvement en quoi cela consiste ?
SA : Je ne travaille pas stricto sensu sur les contenus éducatifs, mais j’aide à collecter le feedback sur ces outils, à planifier les fonctionnalités, et à aider autant les profs que les élèves à s’approprier nos outils.
Notre mission est de rendre la vie plus simple de ceux qui veulent enseigner ou apprendre la programmation.
Nous faisons cela principalement en construisant des outils pour tout ce monde – pour les élèves, nous voulons rendre intuitif de suivre des cours complets dans le même environnement que vous utiliserez plus tard en tant que professionnel – un environnement intégré de programmation professionnel.
Pour les éducateurs, nous cherchons à les aider à créer des expériences d’apprentissages riches et interactives, qui collent au plus près des problématiques dont les développeurs logiciels font l’expérience dans leur vie quotidienne.
Si je suis nouveau à la programmation
JMF : Disons que je sois un débutant complet à la programmation et que je décide d’apprendre Kotlin. Comment puis-je m’y prendre? Y a t-il des contenus adaptés?
SA : Nous pensons que Kotlin est un bon premier langage pour démarrer en programmation! Le livre que nous recommandons à tous les débutants est le livre Atomic Kotlin de Bruce Eckel et Stevlana Isakova. Le livre n’a aucun pré-requis en termes de connaissances en programmation. Vous pouvez vous renseigner sur le livre à l’adresse https://www.atomickotlin.com/

Certains ont du mal à conserver la motivation pour apprendre avec seulement un livre.
Pour ces gens-là nous avons une seconde approche :
Hyperskill de JetBrains Academy est notre effort pour permettre aux gens d’apprendre la programmation dans un environnement de type projet. Par là je veux dire que vous n’écoutez pas des exposés roboratifs sans rien faire derrière. Chaque leçon a un objectif d’apprentissage.
Nous faisons cela en personnalisant votre curriculum sur la base d’un catalogue de projets dont vous sélectionnez les plus pertinents pour vous.
Nous avons annoncé le support de Kotlin dans Hyperskill à KotlinConf 2019. Vous pouvez tester cela gratuitement tant que le programme est en EAP (Early Access Project) à l’adresse https://hyperskill.org/

Si je suis un dev Java
JMF : Imaginons que j’ai de l’expérience en développement Java, et je veux me consacrer à ce qu’il y a de nouveau de Kotlin par rapport à Java. Qu’est-ce que vous me conseillez ?
SA : Si vous aimez les livres, je vous conseille **https://www.manning.com/books/kotlin-in-action de mes collègues Svetlana Isakova et Dmitry Jeremov.
Il est dédié aux gens familiers avec Java et couvre les thématiques avancées propres à Kotlin. Vous pouvez en savoir plus sur le livre à l’adresse https://www.manning.com/books/kotlin-in-action

Si vous voulez vous jeter directement dans le grand bain, je recommande les Kotlin Koans qui sont disponibles sur le site de Kotlin.
C’est une série de petits exercices, qui chacun présente un aspect de la syntaxe de Kotlin, et vous apprendra à écrire du code plus idiomatique en Kotlin.
Vous pouvez faire les Kotlin Koans directement dans le navigateur sans rien n’avoir à installer, ou vous pouvez les résoudre dans IntelliJ pour bénéficier des fonctionnalités de l’IDE.
Pour en savoir plus, rendez-vous à l’adresse https://play.kotlinlang.org/koans/overview

Et il y a également notre cours Kotlin for Java Developers que vous pouvez suivre gratuitement sur Coursera. Il a été coécrit par Andrey Breslav, le concepteur de Kotlin, ainsi que Svetlana Isakova (pour la troisième fois !), donc vous serez en de bonnes mains.
Pour en savoir plus, rendez-vous à l’adresse https://www.coursera.org/learn/kotlin-for-java-developers

Si je veux pratiquer Kotlin dans l’IDE
JMF : Disons maintenant que j’ai déjà un ordinateur avec Android Studio ou IntelliJ IDEA déjà installé. Je voudrais apprendre le langage directement dans l’IDE, comme le ferait un dev professionnel. Comment m’y prendre ?
SA : Simple! Mes collègues de l’équipe éducation ont packagé toutes les fonctionnalités dont vous avez besoin dans le plugin EduTools.
Il est disponible dans la plupart de nos IDEs, ainsi que dans Android Studio. Une fois que vous l’avez installé, vous pouvez choisir le cours que vous désirez apprendre, et vous êtes partis!
Le plugin EduTools vient par défaut avec les Kotlin Koans que j’ai évoqués plus haut. Mais il vous permet également de vous connecter à des plateformes de e-learning, et à travailler sur les cours que vous avez rejoints là-bas.
Pour en savoir plus sur le plugin EduTools, rendez-vous à l’adresse https://plugins.jetbrains.com/plugin/10081-edutools

Si je suis un prof ou un mainteneur de bibliothèque Kotlin
JMF : Je pense maintenant aux mainteneurs open source. Ils ont eux aussi le besoin d’aider les gens à apprendre leur API. Y a-t-il moyen de réutiliser l’infrastructure que vous avez bâtie pour rendre l’apprentissage plus simple ?
SA : Parfaitement. Tout comme les professeurs qui veulent aider les gens à comprendre les concepts de programmation, les auteurs de bibliothèques Kotlin ainsi que les personnes en charges de l’onboarding des nouveaux développeurs ont à agir en tant qu’éducateurs.
Le plugin EduTools que j’ai mentionné plus haut vient avec un mode spécifique, le Course Creator Mode. Ce mode permet de créer facilement vos propres cours – avec des placeholder, des descriptions de tâches, des tests automatisés, et même des questions à choix multiples. Tout cela sans quitter l’IDE!
Nos cours sont de simples projets Gradle, donc il est facile de rajouter les dépendances de vos propres bibliothèques. Cela vous permet de faire la démonstration des fonctionnalités de votre bibliothèque qui sont pertinentes pour votre audience cible. Qu’il s’agisse d’étudiants en université, de devs qui veulent tester votre bibliothèque, ou de développeurs juniors qui viennent de rejoindre votre compagnie.
Nous avons des guides très complets qui vous montrent comment vous y prendre à l’adresse https://www.jetbrains.com/help/education/educator-start-guide.html
Comment vous contacter ?
JMF : Comment les gens qui désirent vous joindre peuvent s’y prendre pour en savoir plus?
SA : Le moyen le plus rapide est via mon compte Twitter @TrueSebi.
Je suis également sur GitHub à l’adresse https://github.com/SebastianAigner .
Vous pouvez aussi m’envoyer directement un e-mail à l’adresse sebastian.aigner@jetbrains@com
N’hésitez pas à me contacter! Je suis toujours content de discuter avec les gens de Kotlin, et de les aider à profiter de ce que nous faisons à JetBrains pour leur permettre d’aller plus loin. Que vous veniez d’écrire votre premier “Hello World” ou que vous ayez 20 ans d’expériences en tant que dev professionnel.
Bonus : Je connais Kotlin, comment explorer son écosystème ?
Note du traducteur : je n’avais pas pensé à poser cette question à Sebastian, donc j’y réponds moi-même 🙂
La communauté Kotlin est très active, et souvent prête à aider.
Le meilleur point de départ est le site officiel https://kotlinlang.org/community/

Le meilleur moyen pour rentrer en contact avec la communauté est de s’inscrire sur le Slack KotlinLang. Vous pouvez demander une invitation ici.
Le site Kotlin is Awesome permet d’avoir un aperçu rapide des bibliothèques existantes.

Si vous voulez pratiquer ces bibliothèques, je vous conseille le Kotlin Libraries Playground dont je suis un mainteneur :
LouisCAD / kotlin-libraries-playground
A playground to gain a wider and deeper knowledge of the libraries in the Kotlin ecosystem. Also the official sample for gradle refreshVersions.
Voilà, c’est tout pour aujourd’hui. Si vous voulez me poser une question, le page “ask me” page de https://jmfayard.dev/ est faite exactement pour cela!
Bonjour,
Je pense que tout le monde devrait avoir accès à la programmation et qu’il est très facile d’apprendre avec les bons outils. Pour réaliser ça, je crée une application pour apprendre le plus facilement possible et j’ai besoin de votre avis: https://forms.gle/ogntp3BzH1gbzqpY9