Pour juste un petit exemple : écrire un générateur html qui permet de mêler du code Lisp et du code html (comme les jsp de java mais avec tout le langage Lisp sous la main, sans un (en fait deux dans le cas des jsp, sans compter les balises personnalisées) langages supplémentaires à apprendre) ça nécessite même pas 100 lignes de code, avec les échappements html appliqués automatiquement. Et si tu écris des applications web tu sais à quel point la sécurité de la génération des pages est difficile (sinon je te le dis ;) : ajouter du texte dans des pages dont les méta-données sont du texte c'est assez délicat parce qu'il faut faire attention partout et que par définition les humains ne sont pas très doués dans ce domaine). Étendre ce générateur pour qu'il traite tous les cas (échappement des paramètres javascript, échappement correct des url, jetons dans les urls, ...) c'est quelques centaines de lignes de code. Avec une syntaxe finale qui mêle harmonieusement lisp et html (ou ce qui le représente), sans avoir rien d'autre à apprendre, y compris pour créer tes propres composants de présentation (de simples fonctions/macros Lisp). C'est un exemple où il y a peu de choses à apprendre pour savoir comment ça marche, qui libère le développeur de pas mal de problèmes (moins de choses à penser partout) et qui permet à des gens ayant une expérience modérée du développement web d'éviter les conneries. À l'échelle d'un site de 3 pages ce n'est pas intéressant mais si tu réalises des applications plus complexes c'est vite rentabilisé.
Cela ressemble à ocsigen ce que tu décris, en moins développé. C'est écrit en OCaml (c'est la même famille que Lisp : \lambda-calcul avec très impératif, et aussi objet, mais en mieux typé et sans les horreurs du paranthésage et des macros — pour moi, avoir besoin de macros est un défaut de conception dans un langage) et ça génère du html garanti conforme (grâce au système de types du langage) ainsi que de la compilation OCaml vers javascript : ce qui permet d'écrire une webapp en full-ocaml en codant les parties client et serveur dans le même langage, tout en bénéficiant de la puissance et de la sécurité de son système de types.
En exemple, tu as l'application graffiti : proof of concept d'une application collaborative de dessin (si tu ouvres deux navigateurs sur la page, ce que tu dessines dans l'un est répercuté sur le caneva de l'autre) dont le code fait 200 lignes.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: C'est bien dommage
Posté par kantien . En réponse au journal C++17 est sur les rails. Évalué à 2.
Cela ressemble à ocsigen ce que tu décris, en moins développé. C'est écrit en OCaml (c'est la même famille que Lisp : \lambda-calcul avec très impératif, et aussi objet, mais en mieux typé et sans les horreurs du paranthésage et des macros — pour moi, avoir besoin de macros est un défaut de conception dans un langage) et ça génère du html garanti conforme (grâce au système de types du langage) ainsi que de la compilation OCaml vers javascript : ce qui permet d'écrire une webapp en full-ocaml en codant les parties client et serveur dans le même langage, tout en bénéficiant de la puissance et de la sécurité de son système de types.
En exemple, tu as l'application graffiti : proof of concept d'une application collaborative de dessin (si tu ouvres deux navigateurs sur la page, ce que tu dessines dans l'un est répercuté sur le caneva de l'autre) dont le code fait 200 lignes.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.