Ask HN: Books that teach you programming languages via systems projects?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Crafting Interpreters

    Repository for the book "Crafting Interpreters"

  • It's possible to work through Bob Nystrom's Crafting Interpreters[1] using any language you want. On GitHub just search for "crafting interpreters"[2] and add a filter for the programming language you're interested in, and you'll find at least a couple repos for the entire book. There are over a dozen complete repos in Rust. Since everyone breaks out each chapter in a separate folder, it's easy to follow along with the book, even though the book's first interpreter is written in Java and the second compiler was written in C. I did this, it's basically how I learned Rust.

    [1] https://www.craftinginterpreters.com

  • mal

    mal - Make a Lisp

  • Concur with this recommendation. Coincidentally, I started this project just recently, having really enjoyed completing Make a Lisp [0] a couple of years ago, and now needing something to do while I recover from a medical condition. I'm really impressed with Nystrom's writing style and Interpreter development process.

    My long term goal - which should keep me going for ages - is to use something like Nystrom's byte-code virtual machine as a basis for having another go at MAL. I completed MAL using C#, and am currently using Visual Studio / C# to complete Nystrom's stuff (rather than the Java / C combo that he uses). But I'm just about to restart Nystrom using a different language (again, perhaps Rust) to give myself more of a challenge.

    [0] https://github.com/kanaka/mal/blob/master/process/guide.md

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • handsonscala

    Discussion and and code examples for the book Hands-on Scala Programming

  • project-based-learning

    Curated list of project-based tutorials

  • https://github.com/practical-tutorials/project-based-learnin...

  • https://github.com/practical-tutorials/project-based-learnin...

  • project-based-tutorials-in-c

    Discontinued A curated list of project-based tutorials in C

  • I was going to post that link. There also several language-specific lists like https://github.com/rby90/project-based-tutorials-in-c .

  • paip-lisp

    Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts