« Passer à Elixir »
(leemeichin.com)Passer à Elixir
- Dans son nouveau travail, l’auteur utilise Elixir comme principal langage backend.
- Il n’avait aucune expérience avec Elixir ou Erlang, mais l’a appris facilement grâce à une syntaxe similaire à celle de Ruby.
- Cela permet d’éviter les problèmes de gestion d’état des langages orientés objet et de profiter des avantages de l’immuabilité et de la programmation fonctionnelle.
Les avantages d’Elixir
- Le code avec un état mutable est difficile à maintenir.
- Elixir prend en charge les DSL comme Ruby, mais utilise des macros à la compilation pour générer du code à l’exécution.
- Même sans écrire de tests, il est possible de détecter à la compilation les erreurs d’usage des macros.
Syntaxe et expressions
- La syntaxe de pipeline d’Elixir est appréciée, mais l’auteur préfère l’opérateur de « threading » de Clojure.
- L’expression
withpermet de séparer les fonctions complexes entre le chemin de succès et la gestion des erreurs.
Gestion des exceptions
- En Ruby, il est courant d’utiliser les exceptions pour contrôler le flux d’exécution.
- En Elixir, au lieu des exceptions, on utilise plutôt les monades Result / Either, avec
oketerrorcomme valeurs de retour.
L’avis de GN⁺
Le point le plus important de cet article est le plaisir de programmer en Elixir et sa facilité de maintenance. Il est intéressant de voir comment le langage résout les problèmes complexes de gestion d’état des langages orientés objet et améliore la stabilité ainsi que la lisibilité du code grâce à l’immuabilité et à la programmation fonctionnelle. En particulier, son système de macros, capable de détecter des erreurs à la compilation, offre aux développeurs un environnement plus sûr pour écrire du code. Ces caractéristiques devraient aussi donner envie aux ingénieurs logiciels débutants d’apprendre Elixir.
1 commentaires
Avis Hacker News
L’intérêt pour le langage Elixir a augmenté ces dernières semaines grâce à des vidéos YouTube.
L’un des principaux avantages d’Elixir/Erlang mis en avant est la facilité des tâches en arrière-plan.
Taskd’Elixir, le serveur pouvait continuer à traiter les requêtes HTTP sans s’interrompre.La conférence de Sasa Juric, "The Soul of Erlang and Elixir", met en lumière la puissance du langage.
Partage d’une expérience d’utilisation d’Erlang depuis 1991.
Apprendre et utiliser Elixir est perçu comme plaisant, avec une satisfaction particulière pour la simplicité et les fonctionnalités de BEAM/OTP.
Parmi les atouts d’Elixir, mise en avant d’un plaisir comparable à Ruby, tout en supprimant les inconvénients de la programmation orientée objet grâce à l’immuabilité et à son caractère fonctionnel.
Signalement d’un malentendu sur l’usage des exceptions comme contrôle de flux en Ruby.
Un utilisateur de F# exprime sa confusion face à Elixir.
Des retours d’expérience sur Elixir soulignent sa facilité d’apprentissage, ainsi que les avantages du pattern matching et des données immuables.
Mise en garde contre l’optimisme des débuts vis-à-vis des nouvelles technologies.