Remix.run Logo
IgorPartola 12 hours ago

I have read a number of programming books but the only two that really stood out to me and that I still remember are The Pragmatic Programmer and K&R The C Programming Language. They are obviously very different but foundational in ways that enabled me to get a lot of things done.

I do still encourage people to learn C only because you could understand how the language works or a long weekend and it will help you appreciate just how things actually work under the hood (and a bit above the assembly instructions level). And TPP is great for helping you understand what to do when actually working on a deliverable project and not just the exciting parts. It’s the difference between building a toy that runs on your machine and a project others can run and use.

kylecazar 11 hours ago | parent | next [-]

My first programming book was K&R as well. It was an excellent introduction to programming.

You might think that coming from K&R, I wouldn't have liked my second and third books, which were two of the first Head First series. They took essentially the opposite approach from K&R, but I enjoyed them too and learned quite a bit. Something about the content lended itself to a more visual approach to the material (maybe the nature of OOP).

IgorPartola 9 hours ago | parent [-]

It was technically not my first. Really my first was around age 6 or 7 and it was a companion to my grandfather’s Pravetz 8D which had a listing of BASIC commands and I think like 20 or so listings of programs. His students had also programmed a few games that he had copies of which were cool. I ended up trying to modify them and writing some of my own but that’s how I got into this whole thing.

But K&R was the first book that I read that made me feel like I fully understood what was happening. Of course I was missing a lot of nuance a a bunch of abstraction layers that I learned about later but that book felt very self-contained. I read the first time it when I think I was 25 or 26 and at 39 I might want to do a refresher.

android521 4 hours ago | parent | prev [-]

You should read A philosophy of software design by John Ousterhout. It might become your favourite book.