{
    "products": [
        {
            "slug": "crafting-interpreters",
            "name": "Crafting Interpreters",
            "kind": "book",
            "website": "https://craftinginterpreters.com/",
            "page": "https://listme.name/books/crafting-interpreters",
            "tagline": "Free web book on writing a programming language interpreter",
            "summary": "Crafting Interpreters is a book by Robert Nystrom that walks readers through building a full scripting language, from scanning and parsing to a bytecode virtual machine. The complete web version is free to read on the author's site. Print, eBook, PDF and EPUB editions are sold through the retailers the site lists.",
            "author": "Robert Nystrom",
            "formats": [
                "web",
                "pdf",
                "epub",
                "kindle",
                "print"
            ],
            "pricing": "free",
            "price_note": "Full web edition free; print and ebook editions sold separately",
            "free_to_use": true,
            "open_source": false,
            "strengths": [
                "Full book free on the web",
                "Builds two interpreters step by step",
                "Clear explanations of language internals"
            ],
            "limits": [
                "Long, with a lot of code to write",
                "Not a reference for any one language"
            ],
            "checked": "2026-10-10",
            "connected_to_publisher": false,
            "cover": "https://listme.name/assets/covers/crafting-interpreters.webp",
            "overview": "The book builds Lox, a dynamically typed language, twice: first as a tree-walking interpreter, then as a faster bytecode virtual machine. It covers scanning, parsing, variables, functions, closures, classes and inheritance along the way. Each step is short, and the author asks readers to write each line themselves so they understand every part.\n\nThe site presents the book in four formats: print, eBook, PDF and free web. The web version costs nothing, and the other formats are paid. The text suits programmers who want to understand how languages work from the inside. It is long and is not a quick reference, and its focus is building a language tool rather than writing applications."
        },
        {
            "slug": "the-pragmatic-programmer",
            "name": "The Pragmatic Programmer, 20th Anniversary Edition",
            "kind": "book",
            "website": "https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/",
            "page": "https://listme.name/books/the-pragmatic-programmer",
            "tagline": "Practical software craft advice from David Thomas and Andrew Hunt",
            "summary": "The Pragmatic Programmer, 20th Anniversary Edition, is a book by David Thomas and Andrew Hunt, published by the Pragmatic Bookshelf. It collects practical advice on code quality, debugging, testing, automation and career habits for working developers. The publisher sells a paperback and PDF, EPUB and MOBI ebooks.",
            "author": "David Thomas and Andrew Hunt",
            "formats": [
                "pdf",
                "epub",
                "kindle",
                "print"
            ],
            "pricing": "paid",
            "price_note": "Paperback and ebook editions sold by the publisher",
            "free_to_use": false,
            "open_source": false,
            "strengths": [
                "Language-neutral advice on software craft",
                "Available as PDF, EPUB, MOBI and paperback",
                "Short sections that are easy to reread"
            ],
            "limits": [
                "Advice is general, with few code details",
                "No free edition of the full text on the publisher site"
            ],
            "checked": "2026-10-10",
            "connected_to_publisher": false,
            "cover": "https://listme.name/assets/covers/the-pragmatic-programmer.webp",
            "overview": "The book is organized as short tips and topics, covering personal responsibility, decoupling, debugging, testing, refactoring and automation. The advice is about habits and judgment rather than one language, so it applies across most kinds of software work. The 20th anniversary edition is the version the publisher sells today.\n\nThe authors are the founders of the Pragmatic Bookshelf, which sells the book as a paperback and in PDF, EPUB and MOBI formats. It suits developers at any stage. Its trade-off is that the advice is general, with few code details, so readers need practice to turn the tips into skill. The publisher offers no free edition of the full text."
        }
    ],
    "differences": [
        "Crafting Interpreters has a free plan or free version; The Pragmatic Programmer, 20th Anniversary Edition does not.",
        "Crafting Interpreters: free. The Pragmatic Programmer, 20th Anniversary Edition: paid."
    ],
    "shared_rankings": [
        {
            "list": "programming-books",
            "name": "Programming books",
            "page": "https://listme.name/best/programming-books",
            "of": 11,
            "results": [
                {
                    "product": "crafting-interpreters",
                    "rank": 4,
                    "score": 90.5,
                    "verdict": "A free, step-by-step build of two interpreters, with the full web edition at no cost. It is long and asks for a lot of code, which keeps it just below the top picks.",
                    "best_for": "Building a language interpreter from scratch",
                    "spec": {
                        "level": "Intermediate",
                        "free_online": true,
                        "latest_edition": "Not stated on the book site",
                        "focus": "Building programming language interpreters"
                    }
                },
                {
                    "product": "the-pragmatic-programmer",
                    "rank": 2,
                    "score": 92.5,
                    "verdict": "Language-neutral habits and craft advice for working developers, in print and ebook formats. It is paid, and its advice is general, so it ranks below the more technical books here for depth.",
                    "best_for": "Working developers who want craft habits",
                    "spec": {
                        "level": "Intermediate",
                        "free_online": false,
                        "latest_edition": "20th anniversary edition",
                        "focus": "Software craft and habits"
                    }
                }
            ]
        }
    ],
    "ranks_higher_in_closest_shared_list": "the-pragmatic-programmer",
    "page": "https://listme.name/compare/crafting-interpreters-vs-the-pragmatic-programmer",
    "json": "https://listme.name/api/v1/compare/crafting-interpreters-vs-the-pragmatic-programmer.json",
    "notes": [
        "Scores are editorial and only comparable inside one list. Products with connected_to_publisher true receive a disclosed ranking lift: https://listme.name/methodology"
    ],
    "source": "https://listme.name",
    "license": "Free to read and cite with attribution to listme.name.",
    "docs": "https://listme.name/developers"
}