AccueilActualités informatiqueLangage de programmation : liste de souhaits pour Kotlin avant Noël

Langage de programmation : liste de souhaits pour Kotlin avant Noël

En juin, JetBrains avait lancé un sondage sur les fonctionnalités les plus souhaitées pour Kotlin. L’entreprise a maintenant publié les résultats dans un article de blog. Au total, 1540 personnes ont participé à l’enquête et ont désigné un vainqueur incontestable, « Multicatch and Union Types », qu’ils devront toutefois attendre encore un peu.

L’objectif du sondage était d’orienter le développement du langage en fonction des souhaits des développeurs. Le formulaire n’indiquait pas tous les ajouts sur lesquels l’équipe travaille actuellement et permettait des réponses multiples. La planification se fait sur le long terme : Il n’est pas garanti que les fonctionnalités fréquemment demandées soient rapidement intégrées dans la langue. Selon le billet de blog, aucune d’entre elles ne sera intégrée à la série actuelle 1.6.x, qui a été lancée en novembre et se poursuivra jusqu’en mai.

Après le vainqueur incontesté, de nombreuses entrées se suivent de près.

(Image : JetBrains)

Sommaire

Avec 45% des voix, « Multicatch and Union Types » arrive nettement en tête de la liste des souhaits. Le contexte est que Kotlin n’est pas en mesure d’être utilisé dans une catch-d’intercepter plusieurs exceptions. C’est pourquoi, en cas d’interaction avec des API Java pouvant déclencher différentes exceptions, le code doit jusqu’à présent utiliser une clause distincte pour chacune d’entre elles. catchcomme dans l’exemple ci-dessous, tiré du blog de lancement de l’enquête :

fun loadData(path: String) {
   try {
       findDataLoader(path).loadXmlData()
   } catch (e: IOException) {
       println("Failed")
   } catch (e: JDOMException) {
       println("Failed")
   }
}

Une approche possible est celle des Union Types, que Kotlin ne connaît pas encore. Cela permettrait d’intégrer tous les cas d’erreurs dans une union et donc l’interception dans un catch– :

fun loadData(path: String) {
   try {
       findDataLoader(path).loadXmlData()
   } catch (e: IOException | JDOMException) {
       println("Failed")
   }
}

En outre, il serait également possible d’introduire une syntaxe de type énumération. Parmi ceux qui ont voté globalement pour « Multicatch and Union Types », seuls 13 % ont trouvé cette approche attrayante, tandis que 87 % préfèrent les Union Types.

Selon JetBrains, la fonctionnalité la plus demandée est également celle qui est la plus complexe à mettre en œuvre. De toute évidence, des experts sont demandés au sein de l’équipe du compilateur principal, qui est actuellement occupée à mettre en œuvre un nouveau front-end de compilation, le compilateur K2. L’implémentation se fera donc attendre.

Les « Collection Literals » arrivent en deuxième position avec 32% d’approbation. Elles doivent permettre de créer des collections telles que des listes ou des cartes avec des valeurs prédéfinies de manière plus simple et plus claire qu’avec des fonctions de bibliothèque :

// Literal:
val list = [1, 2, 3]
// Library-Funkion:
listOf(1, 2, 3)

// Literal:
val map = ["one": 1, "two": 2, "three": 3]
// Library-Funktion:
mapOf(“one” to 1, “two” to 2, “three” to 3)

Outre le fait que les littéraux sont plus clairs, ils permettent d’éviter l’overhead lié au fait que les fonctions sont créées à l’aide de varargs se basent sur une liste de paramètres modifiable.

En plus de leurs souhaits, les participants pouvaient également rejeter ou downvoter certaines fonctionnalités. En tête des ajouts inintéressants, avec seulement 10 %, se trouve la surcharge d’opérateurs bit par bit tels que & et | ont été placés. Mais le véritable vainqueur de la liste négative est le néant : 40% des personnes interrogées ne rejettent fondamentalement aucune des fonctionnalités énumérées.

En plus de la liste des fonctionnalités les plus demandées, JetBrains a publié la liste des fonctionnalités les moins demandées.

(Image : JetBrains)

Outre les souhaits, JetBrains a publié des statistiques sur le contexte. Il en ressort que 71% des personnes interrogées travaillent avec Kotlin depuis plus de deux ans et que 85% utilisent le langage dans leur code productif.

De plus amples détails sur l’enquête sont disponibles sur le blog Kotlin. Vous y trouverez également un lien vers les données brutes anonymisées.

Plus d'articles