Je viens de déployer un site pour un client: lecture d'une base de données, templates à la Django (Djula), un panier client, envoi de mail, et voilà, c'est simple, rapide et efficace.
Ce qui me facilite la vie c'est qu'une fois lancé en prod (sbcl --load run.lisp, qui charge mon projet et lance le serveur web dans une thread), j'ai toujours accès au REPL de l'application qui tourne. Ça me sert pour facilement modifier des variables de configuration (quand le client change plusieurs fois par semaine d'horaire ou d'adresse de contact). Je m'en suis bien sûr servi également pour recharger toute l'application à chaud, y compris en ayant besoin d'installer de nouvelles dépendances, et bien que ça ai très bien marché je serais prudent sur cette étape !
Et donc, le REPL. Y'a des langages évolués qui émergent, mais aucun n'a un si bon REPL, voir aucun REPL du tout. Le temps écriture -> test -> validation -> je recommence est bien plus rapide et fun avec un REPL.
De plus, Common Lisp (SBCL) renvoie pas mal d'erreurs ou de warnings de typage à la compilation (d'une fonction, vu que pendant le dév on compile fonction par fonction). Il y a même une librairie en version gamma qui apporte un typag statique complet à la ML/Haskell (Coalton).
# Un langage stable, rapide et avec un bon REPL
Posté par dzecniv . En réponse au journal Explorer des langages de programmation - édition 2020. Évalué à 10.
https://common-lisp.net/ Et si si, y'a des librairies :) https://github.com/CodyReichert/awesome-cl
Je viens de déployer un site pour un client: lecture d'une base de données, templates à la Django (Djula), un panier client, envoi de mail, et voilà, c'est simple, rapide et efficace.
Ce qui me facilite la vie c'est qu'une fois lancé en prod (sbcl --load run.lisp, qui charge mon projet et lance le serveur web dans une thread), j'ai toujours accès au REPL de l'application qui tourne. Ça me sert pour facilement modifier des variables de configuration (quand le client change plusieurs fois par semaine d'horaire ou d'adresse de contact). Je m'en suis bien sûr servi également pour recharger toute l'application à chaud, y compris en ayant besoin d'installer de nouvelles dépendances, et bien que ça ai très bien marché je serais prudent sur cette étape !
Et donc, le REPL. Y'a des langages évolués qui émergent, mais aucun n'a un si bon REPL, voir aucun REPL du tout. Le temps écriture -> test -> validation -> je recommence est bien plus rapide et fun avec un REPL.
De plus, Common Lisp (SBCL) renvoie pas mal d'erreurs ou de warnings de typage à la compilation (d'une fonction, vu que pendant le dév on compile fonction par fonction). Il y a même une librairie en version gamma qui apporte un typag statique complet à la ML/Haskell (Coalton).
https://lispcookbook.github.io/cl-cookbook/
(ps: Atom avec SLIMA a tout ce qu'il faut)