IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Enquête 2021 sur les fonctionnalités de Kotlin : les fonctionnalités les plus attendues par les développeurs
Et celles qu'ils n'aimeraient pas voir être implémentées

Le , par Stéphane le calme

254PARTAGES

9  0 
Kotlin est un langage de programmation orienté objet et fonctionnel, avec un typage statique qui permet de compiler pour la machine virtuelle Java et JavaScript. Il est développé par une équipe de programmeurs chez JetBrains, l'éditeur d'IntelliJ IDEA, l'environnement de développement intégré pour Java et sur lequel est basé Android Studio, l’EDI officiel pour développer les applications Android.

En 2019, lors de la première journée de sa conférence Google I/O dédiée aux développeurs, la grande enseigne de la recherche en ligne a annoncé que le langage de programmation Kotlin est désormais son langage préféré pour les développeurs d'applications Android. « Le développement d’Android deviendra de plus en plus Kotlin-first », a écrit Google dans un billet de blog. « De nombreuses nouvelles API Jetpack et fonctionnalités seront d'abord proposées pour Kotlin. Si vous commencez un nouveau projet, vous devriez l’écrire en Kotlin », poursuit Google en expliquant que « le code écrit en Kotlin signifie souvent beaucoup moins de code pour vous - moins de code à taper, tester et maintenir. »

Le support officiel de Kotlin pour le développement Android a été annoncé à la conférence Google I/O 2017. Pour l’équipe Android de Google, cette décision de supporter Kotlin s’expliquait aisément. D’abord le support EDI pour Kotlin : Android Studio est basé sur IntelliJ IDEA de JetBrains et l'équipe JetBrains travaille depuis des années pour s'assurer que Kotlin fonctionne parfaitement avec IntelliJ IDEA. Google héritera donc de tout leur travail pour supporter Kotlin dans Android Studio. Mais au-delà de cet aspect, Kotlin présente bien d’autres avantages. D’après Google, « Kotlin est [un langage] expressif, concis, extensible, puissant et agréable à lire et écrire », et « il a des fonctionnalités de sécurité intéressantes en termes de nullabilité et d'immutabilité » qui s'alignent avec ses investissements pour rendre les applications sûres et performantes par défaut.

Le plus important d’après Google, c’est que Kotlin est interopérable avec les langages officiels pour le développement Android (Java, C++) et le runtime Android. La firme a expliqué par exemple que Kotlin fonctionne avec le langage Java de manière transparente, de sorte qu'il est facile pour les développeurs qui aiment le langage Java de continuer à l'utiliser, mais aussi d'ajouter progressivement du code Kotlin et de tirer parti des bibliothèques Kotlin. En outre, l'adoption de Kotlin sur Android augmentait régulièrement au fil des années, et d’après Google, avec un enthousiasme croissant parmi les développeurs ; une des raisons pour lesquelles la société a voulu accueillir Kotlin en tant que langage officiel sur Android pour assurer à ces derniers un meilleur support de Kotlin. Ce qui a été fait à partir d'Android Studio 3.0.

Le sondage sur les fonctionnalités Kotlin les plus attendues

Il y a quelques mois, JetBrains a organisé le deuxième sondage sur les fonctionnalités de Kotlin les plus attendues. Les principaux objectifs de cette enquête étaient de savoir quelles futures fonctionnalités de Kotlin étaient les plus importantes pour les utilisateurs et de déterminer la diversités des cas d’usage. Les résultats de cette enquête vont aider JetBrains à établir les priorités de ses plans de développement du langage sur le long terme.

JetBrains précise que cette enquête n’est pas exhaustive « car elle ne couvrait pas les fonctionnalités sur lesquelles nous travaillons actuellement et les fonctionnalités mentionnées dans l’enquête sont à différents stades de développement ». De plus, même si une fonctionnalité a reçu de nombreux votes, l'éditeur ne peut pas promettre qu’elle sera ajoutée au langage prochainement. Vous ne trouverez pas ces fonctionnalités dans les versions 1.6.x car vos votes aident JetBrains à établir des priorités pour son travail à long terme.

Dans ce cadre de cette enquête, trois choses étaient attendues de la part des participants :
  1. Choisir jusqu’à 3 fonctionnalités qu’ils souhaiteraient voir ajoutées au langage (obligatoire).
  2. Sélectionner une fonctionnalité qu’ils ne voudraient jamais voir implémentée (facultatif).
  3. Préciser pourquoi ils n’aimeraient pas avoir cette fonctionnalité dans le langage (facultatif).

Il a été donné aux participants la possibilité de partager des informations sur leur nombre d’années d’expérience avec Kotlin, leurs objectifs d’utilisation de Kotlin et les types de développement logiciel réalisés avec Kotlin, ce qui a permis à JetBrains de mieux comprendre la nature des cas d’utilisation du langage.

Les fonctionnalités les plus attendues

Les 3 fonctionnalités ayant reçu le plus de votes sont les suivantes :
  1. Multicatch et types d’union (45 %)
  2. Les littéraux de collection (32 %)
  3. Récepteurs multiples sur les fonctions et propriétés des extensions (30 %)

Toutefois, les fonctionnalités de la liste occupant de la 4e à la 9e position ont également été largement plébiscitées par la communauté. Les six fonctionnalités en bas de la liste ont toutes reçu nettement moins de votes. Certaines d’entre elles se sont également retrouvées dans le top 3 des fonctionnalités les plus moins demandées, comme Lateinit pour les types nullables et primitifs et les opérateurs bit à bit surchargeables comme I et &.


Fonctionnalités les plus attendues

Étant donné qu’il existe également plus d’une façon de mettre en œuvre la caractéristique Multicatch et les types d’union, l'éditeur a demandé à la communauté Kotlin de lui indiquer laquelle des deux implémentations possibles elle préférait :
  • 87 % ont voté en faveur des types d’union, cela permettrait de déclarer une fonction retournant une des valeurs possibles sans avoir à introduire un type ParseResult dédié.
  • 13 % ont suggéré de ne pas apporter de modifications spécifiques aux exceptions, car les API Java modernes n’ont pas une utilisation abusive des exceptions (et les anciennes seront finalement remplacées). Les participants préféreraient disposer d’une syntaxe concise de type enum pour déclarer les classes scellées, afin de faciliter l’écriture des fonctions de retour d’erreur de type Kotlin.

Les fonctionnalités les moins demandées

Les répondants n’ont pas massivement voté contre des fonctionnalités. 40 % d’entre eux ont déclaré qu’ils n’avaient aucun problème avec l’implémentation des fonctionnalités proposées. Les autres réponses étaient réparties comme suit. Les 3 fonctionnalités les plus citées ont été :
  1. Opérateurs bit à bit surchargeables comme I et & : 10 %.
  2. Visibilité privée des paquets : 7 %.
  3. Lateinit pour les types nullables et primitifs : 6 %.


Fonctionnalités les moins demandées

Données démographiques

71 % des répondants ont plus de deux ans d’expérience avec Kotlin.


Expérience avec Kotlin

85 % d’entre eux ont déclaré utiliser Kotlin dans le code en production.


Voici la liste des types de logiciels développés par les participants.


Conclusion et état des lieux par Roman Elizarov

Pratiquement toutes les caractéristiques qui ont reçu le plus de votes sont à différents stades de recherche dans l’équipe Kotlin.
  • Les types d’union et multicatch (KT-13108) sont l’ajout potentiel le plus populaire au langage, mais également le plus complexe à y intégrer. Cette implémentation nécessitera l’intervention d’un grand nombre d’experts de l’équipe en charge du compilateur principal. Il ne faut donc pas s’attendre à une avancée significative tant que cette équipe est occupée à mettre en production le frontend du compilateur K2. Mais une fois que cela sera fait, nous commencerons à travailler activement sur les types d’union.
  • Les littéraux de collection (KT-43871) n’ont pas été intégrés à notre feuille de route publique actuelle, mais nous avons commencé à réaliser des prototypes pour déterminer les approches de conception les plus adaptées.
  • Les récepteurs multiples (KT-10468) sont très proches d’une publication en preview. Vous pourrez bientôt vous amuser avec cette caractéristique à l’aide d’un commutateur de compilateur en avant-première. Restez à l’écoute !
  • La déstructuration basée sur les noms (KT-19627) opère des choix syntaxiques assez controversés. Nous planifions donc une étude d’ergonomie sur les différentes options syntaxiques pour déterminer les plus compréhensibles pour les développeurs Kotlin.
  • Les types de propriétés « publics » et « privés » (KT-14663) se sont avérés relativement faciles à implémenter dans l’architecture du nouveau frontend du compilateur K2 et ils seront disponibles en preview avec le nouveau compilateur.
  • La visibilité privée des paquets (KT-29227) a reçu beaucoup de votes mais arrive également en deuxième place des fonctionnalités les moins souhaitées. Elle permet plusieurs options de conception et certaines d’entre elles peuvent compliquer l’apprentissage du langage, car elles exigeront des novices d’appréhender davantage de choix. Nous prenons cette question au sérieux et, tout comme pour l’approche originale de la conception des visibilités en Kotlin, nous étudions actuellement les données réelles sur la façon dont les développeurs Kotlin structurent leurs bases de code pour déterminer quel type de solution, avec quel type de paramètres par défaut, conserverait l’esprit de Kotlin : des paramètres par défaut qui vous permettent de démarrer facilement tout en vous offrant la possibilité de les ajuster et de les personnaliser au fil de la complexification de votre projet.

résultats de l’Enquête 2021 sur les fonctionnalités de Kotlin

Une erreur dans cette actualité ? Signalez-nous-la !