Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Crafting Interpreters

    Crafting Interpreters

    Robert Nystrom · 2021

    Software engineers use programming languages every day, but few of us understand how those languages are designed and implemented. Crafting Interpreters gives you that insight by implementing two complete interpreters from scratch. In the process, you'll learn parsing, compilation, garbage collection, and other fundamental computer science concepts. But don't be intimidated! Crafting Interpreters walks you though all of this one step at a time with an emphasis on having fun and getting your hands dirty.

    Computer Science
    Open LibraryAmazon
    Stats for nerds
    295recommend
    521mentions
    397people
    2017–2026years
    72% recommend27% neutral1% critical

    Mentions per year

    2017201820192020202120222023202420252026

    What Hacker News says

    1. shivfitzpatrickOct 2026
      While reading the book Crafting Interpreters I found myself trying to imagine the material from the book visually. After finishing the book I built this tool to do just that! It shows various phases of the interpreter from lexing to parsing to vm instructions with some UI to show you how each step leads to the next. Enjoy!
      thread
    2. AlexeyBrinOct 2026
      These two are good books, I worked through "Writing an Interpreter in Go" and I liked the approach.

      Another really good book is "Crafting Interpreters".

      thread
    3. longor1996Oct 2026
      When it comes to writing small languages/interpreters, it is obligatory to mention "Crafting Interpreters" by Robert Nystrom, so here we go!

      https://craftinginterpreters.com/

      thread
    4. jgeorgesYCOct 2026
      Hi HN,

      My name is Johny Georges and I would like to present Jet, a C-like general purpose programming language. It's currently in alpha so I wouldn't recommend using it in a professional environment.

      Here are some quick facts about it: - it supports both OOP and functional programming paradigms - the syntax is similar to Typescript and Swift - arrays and strings are dynamic - memory is automatically managed for you - you have full control over how values get passed around (by value or by reference)

      In anticipation of the typical questions that come with creating and publishing a new programming language, I've authored an FAQ that's available in the repo. I will also be around today to answer any other questions that come up.

      FAQ: https://github.com/JetJet13/Jet/blob/main/FAQ.md

      Special thanks to Robert Nystrom for authoring 'Crafting Interpreters' and making it available for free, what a guy! I also want to give props to Chris Lattner & Vikram Advethe for creating LLVM. What an impressive piece of kit!

      thread
    5. libraryofbabelOct 2026
      I feel there's a misconception in a lot of the comment threads about what an LLM-from-scratch tutorial is for. Of course you're not going to come out of this kind of tutorial being able to train a useful LLM from scratch. (It requires too much compute, and datasets you don't have access to, and there are a lot of tricks and operational problems to solve for real training runs.) If that's your bar for "impracticality", then sure, this is impractical.

      But that's not the point; the point is understanding these things better by seeing how they are made (or grown, if you prefer). Building something at a level further down the stack than you will ever go forces you to confront details that shape the layers above that you do deal with. This is one reason why Crafting Interpreters is such a beloved book here on HN.

      LLMs are now at the core of tools we all use everyday... don't you want to know how they are made? Maybe not everyone has this itch to understand the platforms and tools they use, but I sure do, and it's helped me over and over again. Sure, LLMs aren't like operating systems or compilers. They're a quasi-organic mass of billions of parameters learned during training and honestly nobody (not even the mech interp folks) really deeply understands why they work so well. But that's no reason to completely give up and there is still a lot you can learn.

      Take RLVR ("Reinforcement Learning from Verifiable Rewards"). This is the training technique that made LLMs get so good at programming and math in 2025 and 2026. A lot of people who confidently talk about LLM capabilities either haven't heard of it (and thus end up parroting out-of-date factoids about LLM training derived from the pre-2025 era) or have only a very dim idea of what it is. In this course you actually do RL training of an LLM to get it solving math problems better. You're right down in the details. It's interesting for its own sake but it will also give you a grounding for discussing questions such as: "why did LLM writing get so weird and bad in mid-2026?" and "why is it so hard to train LLMs to be good at things that aren't like math and programming?"

      Anyway, Sebastian's two books are great and highly recommended; I worked through the first one a year ago and it was one of the best investments of my time in all of 2025. If you prefer video for learning this is great as well (although I'd still say - try the books first).

      thread
    6. garrypettetSep 2026
      I posted Objo Studio here some months ago when it was much earlier in development and it didn’t get much attention. Since then it has changed quite a bit, so I thought it was worth showing again.

      Objo Studio is my attempt to build a modern version of the kind of development environment I grew up enjoying: Visual Basic, REALbasic/Xojo, Delphi, etc. You visually design an interface, add event handlers and write code, without needing to understand complex frameworks before you can put a button on a window.

      The big change since I last posted is that Objo can now build both *desktop and web applications* from the same IDE. Desktop applications target macOS, Windows and Linux.

      Objo also has its own object-oriented programming language. Underneath it is a hand-crafted stack-based virtual machine (written in .NET), while the IDE and desktop UI framework uses Avalonia. Performance has been an important part of the project from the beginning: I want editing, compiling and running an application to feel immediate rather than having the development environment get in the way. Big shout out to Bob Nystrom for his Crafting Interpreters book which got me interested in compilers and interpreters in the first place.

      The language is deliberately conventional. Classes, methods, properties, inheritance, enumerations, exceptions, collections and so on should all feel familiar if you’ve used languages such as BASIC, C# or similar. I’m not trying to invent a new programming paradigm - the goal is to make building small and medium-sized applications enjoyable and quick.

      One of the nicest parts of working on it has been having a small group of people actually using it. Quite a few features and fixes have come from someone reporting a problem or saying "this workflow is awkward", and because the project is still small I'm able to turn those around fairly quickly.

      Objo is obviously nowhere near as mature as tools that have been around for decades, and there are still plenty of things I want to add. But it has reached the point where people are building real applications with it, rather than it just being a language/IDE experiment.

      I’m particularly interested in whether there is still a place for *visual RAD development* today, especially in the world of Vibe Coding. My feeling is that there are still people who enjoy crafting their code visually. I've been using it to teach my teenage daughter to code and she really likes it :)

      If that idea interests you, I’d be very interested in any feedback.

      Objo Studio: https://objo.dev

      thread

    Related

    Cover of Writing An Interpreter In Go
    2016–2026

    Writing An Interpreter In Go

    Thorsten Ball
    73 recommend · 107
    Cover of Game Programming Patterns
    2012–2026

    Game Programming Patterns

    Robert Nystrom
    120 recommend · 161
    Cover of Engineering a compiler
    2007–2026

    Engineering a compiler

    Keith D. Cooper
    39 recommend · 91
    Cover of A pattern language
    2007–2026

    A pattern language

    Christopher Alexander
    110 recommend · 368
    Cover of Structure and Interpretation of Computer Programs
    2007–2026

    Structure and Interpretation of Computer Programs

    Harold Abelson
    347 recommend · 761
    Cover of Designing Data-Intensive Applications
    2014–2026

    Designing Data-Intensive Applications

    Martin Kleppmann
    457 recommend · 846
    Cover of Language Implementation Patterns
    2010–2025

    Language Implementation Patterns

    Terence Parr
    18 recommend · 31
    Cover of The Pragmatic Programmer
    2007–2026

    The Pragmatic Programmer

    Andy Hunt
    353 recommend · 700