2 points par GN⁺ 2023-08-04 | 1 commentaires | Partager sur WhatsApp
  • Un article d’exploration détaillé sur le langage de programmation Elixir et le framework web Phoenix, écrit du point de vue d’un « râleur pessimiste »
  • L’auteur exprime au départ son scepticisme envers Elixir, notamment parce qu’il présente une syntaxe similaire à Ruby, un usage étendu du sucre syntaxique et une bibliothèque standard plus vaste que celle d’Erlang, langage avec lequel il est plus familier
  • L’auteur critique aussi la complexité de la structure des projets Elixir et sa volonté de paraître « hype », estimant que cela brouille la substance réelle du langage et ses fonctionnalités
  • Cependant, après avoir creusé davantage Elixir, l’auteur a une « révélation » : Elixir est essentiellement un Lisp, c’est-à-dire un type de langage de programmation connu pour sa flexibilité, sa puissance et son large recours à la métaprogrammation
  • L’auteur fait l’éloge de l’usage des « macros » dans Elixir, qui sont en substance des fonctions générant et renvoyant du code, ce qui permet un haut niveau de flexibilité et de personnalisation
  • L’auteur salue aussi les « sigils » d’Elixir, comparables aux « reader macros » de Common Lisp, qui permettent de créer des objets comme des chaînes personnalisées
  • L’auteur conclut qu’Elixir est « un meilleur Lisp que Common Lisp ou Scheme », en louant sa robustesse, ses capacités de multitraitement, son pattern matching, ainsi que ses outils de supervision et de débogage
  • L’auteur souligne que la « magie » d’Elixir n’est pas cachée : elle est au contraire expliquée ouvertement et les programmeurs sont encouragés à l’explorer et à la manipuler

1 commentaires

 
GN⁺ 2023-08-04
Avis sur Hacker News
  • L’article « Elixir for cynical curmudgeons » a été jugé très pertinent et vivement recommandé aux lecteurs.
  • Les lecteurs ont apprécié le fait qu’Elixir soit un Lisp, ce qui renforce son attrait et en fait pour certains une langue favorite potentielle.
  • Les frameworks d’Elixir, Phoenix, Nerves et Nx, ont été salués pour leur caractère productif et pratique.
  • Elixir a été critiqué pour la difficulté à écrire rapidement des scripts, mais cela s’est amélioré au fil des ans.
  • L’article critique l’usage de la « magie » en programmation, affirmant qu’elle casse souvent et n’apporte pas de valeur.
  • La concurrence d’Elixir est intuitive, et c’est un langage 2-en-1 qui donne accès à la bibliothèque standard d’Erlang.
  • La capacité à se connecter à distance à une machine virtuelle en production et à gérer les processus a été très appréciée.
  • La communauté Elixir a été saluée pour son respect et pour l’émission de télémétrie de manière standard.
  • Parmi les critiques d’Elixir figurent les erreurs de pattern matching ou d’incompatibilité de types à l’exécution dues à sa nature dynamique, ainsi que la taille plus réduite de sa communauté par rapport à d’autres langages.
  • Les outils de développement d’Elixir ont été salués pour le confort qu’ils procurent aux développeurs, car ils sont écrits et configurés dans le langage lui-même.
  • L’article souligne qu’Elixir est rempli de macros, ce que certains lecteurs ont trouvé amusant.
  • La liberté d’Elixir est perçue par certains comme un obstacle : il existe de nombreuses conventions, mais pas de structure stricte.
  • La discussion autour de « it's macros all the way down » dans l’article a paru à certains lecteurs déroutante mais intéressante.
  • L’environnement BEAM d’Elixir a été très apprécié, mais certains ont aussi estimé que Rails pouvait être un meilleur choix pour servir des pages web dynamiques grâce à un écosystème plus vaste.
  • Certains lecteurs souhaiteraient pouvoir écrire du code de style Python au sein d’un processus Elixir pour bénéficier de langages plus populaires.
  • Dans l’ensemble, l’article a été très apprécié pour sa qualité d’écriture et les éclairages qu’il apporte sur Elixir.