Apple présente Pkl, un langage open source de programmation de configurations

Par:
fredericmazue

mar, 06/02/2024 - 13:29

Apple vient d'annoncer la première version open source de Pkl (prononcr Pickle), un langage de programmation permettant de produire des configurations. Apple explique la motivation de ce nouveau langage ainsi : Lorsqu'on réfléchit à la configuration, il est courant de penser à des langages statiques comme JSON, YAML ou des listes de propriétés. Bien que ces langages aient leurs propres mérites, ils ont tendance à échouer lorsque la configuration devient de plus en plus complexe. Par exemple, leur manque d’expressivité signifie que le code est souvent répété. De plus, il peut être facile de commettre des erreurs de configuration, car ces formats ne fournissent aucune validation propre.

Si d'un autre côté il serait possible d'utiliser des langages généralistes comme Kotlin, Ruby ou JavaScript, Appke considère que ceux-ci seront malgré tout difficiles à utiliser pour décrire une configuration, car ils ne sont pas orientés vers la définition et la validation des données. 

Avec Pkl, Apple veut  tirer le meilleur des deux mondes : fournir un langage déclaratif et simple à lire et à écrire, mais amélioré par des fonctionnalités empruntées aux langages généralistes. Lors de l'écriture de Pkl, vous pouvez utiliser les fonctionnalités du langage auxquelles vous vous attendez, comme les classes, les fonctions, les conditions et les boucles. Vous pouvez créer des couches d'abstraction et partager du code en créant des packages et en les publiant. Plus important encore, vous pouvez utiliser Pkl pour répondre à de nombreux types de besoins de configuration. Il peut être utilisé pour produire des fichiers de configuration statiques dans n'importe quel format ou être intégré en tant que bibliothèque dans un autre environnement d'exécution d'application.

Pkl dispose d'un site dédié : pkl-lang.org. Il y est documenté et on y trouvera également des extensions pour les EDI Intellij IDEA, Neovim et Visual Studio Code. Un billet sur le blog de ce site présente Pkl d'un point de vue pratique

Pkl est un logiciel libre sous licence Apache 2.0, disponible sur GitHub.