For my first blog post, I thought it would make sense to list my favorite lesser-known programming resources. I don’t typically read textbooks, so if something’s here, I found it worth the effort. The resources are arranged vaguely from beginner to advanced, but I’m not attempting to lay out a course of study - these are just some things that have helped me.

  • A Byte of Python by Swaroop C. H.

    This was my first-ever exposure to programming, and I think it’s still a pretty good place to start. Python is a simple, (mostly) sane language, which makes it a good one to start with, and Swaroop distills the basics without dumbing it down. I don’t know if I’d have liked coding without this book. Probably, but maybe not!

  • The Go Language by Brian Will

    This was my go-to resource for reviewing Go when I had to help teach it a few semesters ago. It’s a simple intro to a famously simple language, and it highlights both my favorite and least favorite aspects of the language. It’s surprisingly comprehensive for its ~1 hour 20 minute runtime, too. I also have to mention Storing Data in Control Flow by Russ Cox, simply because it finally made me realize that concurrency can make code way simpler, even if it doesn’t speed things up.

  • Learn Rust with Entirely Too Many Linked Lists by Aria Desires

    This one is brilliant. I’ve gotten through all of this except for the part implementing cursors. It mixes snark and content really well, and Rust is one of the most interesting new languages of the 21st century. Before starting, you should know how to write a linked-list in a language like C or C++. Exposure to functional languages (especially OCaml or F#) will also help, but isn’t necessary.

  • Ray Tracing in One Weekend by Peter Shirley, Trevor David Black, and Steve Hollasch This is a really good, from-scratch introduction to ray-tracing, my favorite kind of graphics rendering. It assumes decent knowledge of C++ (though there are versions of the book for many programming languages), but doesn’t assume any prior knowledge of graphics. It’s pretty quick to get some pretty images on the screen, so I really recommend it if you’re feeling burnt out on low-level, intangible code. I’ve only gotten about 50% of the way through this book, and it definitely took me longer than a weekend, but it’s one of my proudest projects. I talk more about it here. The book is the first of a series. I haven’t touched the later ones, but I intend to! I’ll update this as I find other great resources.