3 points par GN⁺ 2024-07-13 | 1 commentaires | Partager sur WhatsApp

Vous avez déjà eu envie de créer votre propre langage de programmation, ou vous vous êtes demandé comment ils sont conçus et construits ? Alors ce livre est pour vous. Crafting Interpreters contient tout ce qu’il faut pour implémenter un langage de script complet et efficace. Vous y apprendrez aussi bien les concepts de haut niveau liés à l’analyse syntaxique et à la sémantique que des détails comme la représentation en bytecode et le ramasse-miettes. Votre cerveau s’illuminera d’idées nouvelles, vos mains se saliront et se couvriront de callosités. Et c’est vraiment amusant.

En partant de main(), vous construisez un langage doté d’une syntaxe riche, d’un typage dynamique, d’un ramasse-miettes, d’une portée lexicale, de fonctions de première classe, de fermetures, de classes et d’héritage. Le tout tient dans quelques milliers de lignes de code propres et rapides, et comme vous écrivez vous-même chaque ligne, vous pouvez tout comprendre de bout en bout.

Le livre est proposé en quatre formats savoureux :

Version imprimée

  • 640 pages de magnifique typographie et d’illustrations dessinées à la main en haute résolution
  • Chaque page est composée avec soin par l’auteur
  • Offre la meilleure expérience de lecture
  • Amazon.com | .ca | .uk | .au | .de | .fr | .es | .it | .jp
  • Barnes and Noble | Book Depository

Ebook

  • Un CSS soigneusement ajusté s’adapte aux liseuses et aux différentes tailles d’écran
  • Coloration syntaxique en couleurs complètes et hyperliens actifs
  • Kindle Amazon.com | .uk | .ca | .au | .de | .in
  • .fr | .es | .it | .jp | .br | .mx | Apple Books
  • Play Books Google | Nook B&N | EPUB Smashwords

PDF

  • Reproduit fidèlement la composition manuelle et les illustrations nettes de l’édition imprimée
  • Bien plus facile à emporter
  • Disponible à l’achat sur Payhip
  • Téléchargement gratuit d’un extrait

Web

  • Un design responsive soigné qui s’affiche parfaitement du desktop au téléphone
  • Comprend tous les chapitres, encadrés et illustrations
  • Le livre entier peut être lu gratuitement
  • Lire maintenant

Présentation de Robert Nystrom

  • Il a attrapé le virus des langages pendant un congé parental il y a quelques années
  • Après avoir bricolé plusieurs langages amateurs, il est entré dans le métier des langages de programmation
  • Travaille actuellement chez Google sur le langage Dart
  • A fait du développement de jeux pendant 8 ans chez Electronic Arts
  • En s’appuyant sur ce qu’il y a appris, il a écrit le best-seller Game Programming Patterns
  • Vous pouvez en savoir plus sur Twitter (@munificentbob), par e-mail (bob at le domaine de ce site), sur son blog et via sa mailing list à faible fréquence

Résumé de GN⁺

  • Crafting Interpreters est une lecture essentielle pour celles et ceux qui veulent créer eux-mêmes des langages de programmation
  • L’ouvrage couvre un large éventail de sujets, dont l’analyse syntaxique, la sémantique, la représentation en bytecode et le ramasse-miettes
  • Robert Nystrom a écrit ce livre en s’appuyant sur l’expérience acquise en travaillant sur le langage Dart
  • Le livre est disponible en version imprimée, ebook, PDF et web, offrant plusieurs expériences de lecture
  • C’est une ressource très utile pour toute personne intéressée par la conception et l’implémentation de langages de programmation

1 commentaires

 
GN⁺ 2024-07-13
Commentaires sur Hacker News
  • Ce livre convient bien comme deuxième ou troisième étape pour apprendre les compilateurs de PL

    • La première étape consiste à écrire directement un interpréteur dans un langage simple
    • La deuxième étape consiste à le réécrire afin de réduire les erreurs
    • Cela permet de comprendre les nuances du sujet
  • J’ai lu Crafting Interpreters en créant Crumb

    • La section sur la portée et les variables locales a été particulièrement utile
    • L’équilibre entre implémentation technique et compréhension conceptuelle a été très précieux
    • C’est un exemple d’écriture technique inspirante
  • Le meilleur aspect de ce livre est qu’il guide à travers l’écriture de deux interpréteurs pour le même langage

    • On découvre les grandes idées avec le premier interpréteur, puis on les retravaille et les assimile avec le second
    • C’est vraiment un excellent livre
  • En parlant d’autres ressources sur les compilateurs, j’ai apprécié voir Immo Landwerth écrire un compilateur en C#

  • La plupart des programmeurs devraient lire ce livre au moins une fois

    • Il permet de comprendre ce qui se passe à l’intérieur d’un compilateur
    • C’est un guide technique extrêmement bien écrit
    • Il aide à intérioriser les concepts
  • Je me demande s’il existe de bonnes ressources pour créer un langage typé statiquement avec polymorphisme paramétrique et inférence de types de base

  • En tant que personne qui débute dans la programmation, je me demande comment il faut aborder ce genre de livre

    • Je me demande s’il faut coder avec l’auteur tout en lisant le livre du début à la fin
    • J’ai du mal à retenir les connaissances
    • J’aimerais en apprendre davantage sur les interpréteurs de langage, mais je ne sais pas si ce format m’aidera
    • J’essaie de compenser en prenant des notes
  • J’ai enfin décidé de lire le livre

    • Il prenait la poussière sur mon étagère
  • Je viens juste de terminer la deuxième moitié

    • Excellent livre
    • Je recommande de faire un ou deux des défis proposés à chaque chapitre
  • Je suis reconnaissant que ma passion pour la création de langages n’ait été qu’un intérêt passager

    • C’est une quantité de travail énorme