DevFest Nantes 2016 : « Elm, un langage réellement innovant pour le web »

devfest2016_logoMercredi 9 novembre, Axel Cateland de Talend, nous a fait découvrir, le temps d'un "quickie", le langage de programmation Elm.

Ce langage, créé pour faciliter le développement Web, permettrait notamment d'éviter les erreurs à l'exécution.

Les 4 pilliers d'Elm sont :

  • d'excellentes performances (grâce à l'implémentation de son propre DOM virtuel);
  • pas d'erreur à l'exécution ;
  • une interopérabilité avec Javascript;
  • le respect des versions sémantiques.

Le langage

Elm est un langage de programmation fonctionnel qui permet de générer du code javascript via un compilateur.
Ce n'est donc pas un super set de Javascript, contrairement à TypeScript. Voici ses principales caractéristiques :

  • le typage est statique.
  • les valeurs définies ne peuvent être modifiées (immutabilité).
  • toutes les fonctions sont 'pures', sans état, c'est-à-dire que les résultat des fonctions ne dépendent que des paramètres de celles-ci (résultat déterministe).
  • les valeurs 'null', 'undefined', etc. n'existent pas.
  • il n'y a pas de notion d'objet, pas d'accès à this/self (incompatible avec la notion de fonctions pures).

Le compilateur est votre ami

Grâce au compilateur, la qualité du code est vérifiée à la compilation. Les messages d'erreurs fournis par celui-ci sont le plus clairs possible. Par ailleurs, il permet d'optimiser le packaging de vos programmes en retirant toute dépendance inutile.

Le package manager, garant de vos dépendances

Le rôle du package manager est de définir, télécharger et publier des bibliothèques. Il détecte automatiquement tout changement de vos API et génère pour vous les numéros de version, ce qui permet d'éviter des difficultés dans la gestion des versions des différents composants de vos programmes.

Pour plus d'informations

Site web du langage Elm

Enregistrer

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.