To the Eric Raymond recommendation I would add The Art of UNIX Programming (in my view, it’s much more than the title implies).
And I cannot praise The Elements of Computing Systems enough. Available as a MOOC, too.
For me, both were world view-changing books.
@aborla Agree on both, they are incredibly valuable books (in addition to being favorites)
Thanks, @iHiD. I’ll take a look at it when I have some time :)
Working Effectively with Legacy Code by Michael Feathers
Programming Language Foundations in Agda is a good read for those interested in type theory and programming language theory
3 posts were split to a new topic: Clean Code - Deeper Dive into it as a resource
Nice find. I’ve recently started learning Clojure. So, I was curious what Rich Hickey had to say about SICP.
I didn’t get the impression he doesn’t like the book. He’s saying this book won’t help much with learning Clojure (or any Lisp), because its focus is on teaching programming concepts.
Could you link to the MOOC you mentioned?
Sure, here it is: Coursera MOOC - Nand2Tetris
I completed it in 2015 when MOOC’s were still experimental (and free !).
All the best.
Yes, in the Crafting Interpreters book, the second interpreter is written in c. However, I’m currently following the book but writing the second interpreter in zig. As long as you can translate it from c to your desired language, you can do it in whatever language you want.
There’s a list on github here that shows lox being written in a number of different languages.
I am yet to find a favorite programming book. I have tried to go through books to learn programming but programming really took off for me when I found interactive sites like these! I do enjoy learning about computing theory, history and software engineering in general so hope I come across a good recommendation here.
I usually don’t read a programming book from cover to cover, but I did just read all of Beginning Rust 2021. Not much new about the 2021 edition in it, except for some stuff on iterators. Anyway, I used it to refresh my memory, and it held my interest. Now on to Rust for Rustaceans…
12 posts were split to a new topic: Squares and Rectangles
My best book as I was getting brought up in Java and Python were:
Effective Java by Joshua bloch
Wonderful points to hone your skills and keep you engaged
+1 for The Pragmatic Programmer(A Hunt and D Thomas) , This is not a book about a language, nor is is a book about ‘correctness’ or ‘efficiency’. It is about doing things a certain way now, to help yourself (and others) later, and positioned my thinking ‘pragmatically’ but also ‘professionally’.
+1 for William Shotts 'The Linux Command Line. After dying again and again at the command line, and with considerable dejection, just flat out reinstalling when faced with small problems (just as I would have when I was a Win user), This book gave me a series of manageable little exercises that really helped me learn the tools of basic sysadmin. Not a programming book? No it is, really! I learn bash. Sort of is a language… …anyway strong recommend.
No mention yet: Jumping into C++ by Alex Allain. This was really good for new programmers who wanted to learn C++. It really did teach programming paradigms, complex C++ topics like pointers, it was a full intro. The exercises were well placed, but not shirking the heavy things. It got me to use pointers to write and traverse a binary tree and learn about scopes, and the stack. Learning other languages has become much easier because I did this first. Strong recommend.
Thanks to everyone for posting, plenty to be working through!!
Early edition with 14 (supplemental) chapters for the book available for free from William E. Shotts, Jr. at The Linux Command Line
I haven’t ready (m)any of these, but someone else has already reviewed them for you:
Philip Wadler says SICP is a dishonest book…
Good some good books from this post thanks.