{
    "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": "software-engineering-at-google",
            "name": "Software Engineering at Google",
            "kind": "book",
            "website": "https://abseil.io/resources/swe-book",
            "page": "https://listme.name/books/software-engineering-at-google",
            "tagline": "Engineering practices for keeping a large codebase healthy",
            "summary": "Software Engineering at Google is a book curated by Titus Winters, Tom Manshreck and Hyrum Wright, published by O'Reilly in 2020. It describes the engineering practices Google uses to keep its codebase healthy, and the authors say it is not mainly about programming. A digital HTML edition is free on the Abseil site.",
            "developer": "O'Reilly Media",
            "author": "Titus Winters, Tom Manshreck and Hyrum Wright",
            "formats": [
                "web",
                "print"
            ],
            "pricing": "free",
            "price_note": "Free HTML edition on abseil.io; print from O'Reilly",
            "free_to_use": true,
            "open_source": false,
            "strengths": [
                "Full HTML edition free to read",
                "Covers engineering practice at codebase scale",
                "Print edition available from O'Reilly"
            ],
            "limits": [
                "Little on individual programming technique",
                "Describes one company's practices, which may not fit small teams"
            ],
            "checked": "2026-10-10",
            "connected_to_publisher": false,
            "cover": "https://listme.name/assets/covers/software-engineering-at-google.webp",
            "overview": "The book describes the engineering practices that Google uses to keep a large codebase sustainable and healthy over many years. Its authors say it is about practices rather than programming, so it offers little language-specific advice. Its subject is engineering at team and codebase scale, not individual coding technique, which sets it apart from the craft books in this list.\n\nThe full text is published online under a Creative Commons license on the Abseil site, and O'Reilly sells a print edition. Compared with The Pragmatic Programmer, it is narrower and tied to large engineering organizations, so it suits engineers and tech leads in bigger teams. It is a free, practical companion to the design books here."
        }
    ],
    "differences": [],
    "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": "software-engineering-at-google",
                    "rank": 6,
                    "score": 89,
                    "verdict": "A free, full-text guide to engineering practice at team and codebase scale, drawn from Google's own experience. It is less about programming technique than the craft books, so it ranks below The Pragmatic Programmer.",
                    "best_for": "Engineering practice for large codebases",
                    "spec": {
                        "level": "Intermediate",
                        "free_online": true,
                        "latest_edition": "First edition, 2020",
                        "focus": "Engineering practice for large codebases"
                    }
                }
            ]
        }
    ],
    "ranks_higher_in_closest_shared_list": "crafting-interpreters",
    "page": "https://listme.name/compare/crafting-interpreters-vs-software-engineering-at-google",
    "json": "https://listme.name/api/v1/compare/crafting-interpreters-vs-software-engineering-at-google.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"
}