Le langage de programmation Racket
- Racket est un langage de programmation mature, pratique, extensible, robuste et élégant
- Racket est un langage de programmation orientée langage (Language-Oriented Programming) qui présente les caractéristiques suivantes :
- prise en charge du higher-order occurrence typing
- intégration du langage Scribble pour la génération de documentation
- prise en charge de la programmation logique comme Datalog
- système de macros puissant, allant des petites aux grandes macros, facilitant l’écriture de DSL et prenant en charge toute la syntaxe
- L’écosystème Racket se compose de logiciels, de tutoriels et de documentation, d’une communauté, de livres, d’éducation, de swag, etc.
- Racket a reçu le soutien de nombreuses organisations et de particuliers, notamment la NSF, la DARPA, le FIPSE, la fondation Exxon, Microsoft, Mozilla et Google
L’avis de GN⁺
- L’un des plus grands atouts de Racket est sa prise en charge de la programmation orientée langage. Cela permet de créer facilement des langages spécifiques à un domaine (DSL), ce qui aide à améliorer la productivité
- Cependant, en raison des caractéristiques des langages de la famille Lisp, l’usage intensif des parenthèses peut nuire à la lisibilité pour les débutants. Il serait intéressant d’introduire une syntaxe alternative aux parenthèses, comme en Clojure
- Les tutoriels et la documentation sont bien fournis, ce qui facilite l’apprentissage. Le langage est aussi largement utilisé à des fins pédagogiques
- Il peut être utilisé comme langage de programmation généraliste, mais il présente aussi une spécialisation pour la création de DSL ou pour l’enseignement, notamment avec SICP. Pour un usage en environnement de production réel, il semble encore manquer de bibliothèques, entre autres
- Recommandé comme langage d’apprentissage pour celles et ceux qui veulent débuter avec les langages fonctionnels. En revanche, pour un usage professionnel, il peut être judicieux d’envisager Haskell, OCaml ou F#
1 commentaires
Avis Hacker News
Résumé :
typed/racket,racket/guiouscribble/base. Les chapitres de tutoriel décrivant chaque langage sont traités séparément, sans lien entre eux, ce qui prête à confusion.#langpour Lua.