I got an online PDF for this book in mid 2021 when I was first learning Linux and
programming. This one was my choice because I got tired of online tutorials
that were more of a reference than actual learning material.
Recap
This is a hands-on programming book with a strong focus on security and code
correctness above all else, which seems natural given the author's background
in industry-grade applications.
This time, you're not making a game from scratch or creating your own LISP
interpreter, but thoroughly making your way through what makes C an "ugly language";
learning to manage memory, avoiding segmentation faults and using pointers. This
is achieved through chapters each focusing on an aspect of the language with
exercises all around it, as well as ideas for improvement and experimentation.
Rating
90 percent
This is the first programming book I actually worked through, I regret nothing. If
you're someone who has always been wondering about C and low-level programming,
whether you're experienced elsewhere or not, I highly recommend this one. Make sure
to keep a few free hours, as this is not a typical hand-holding manual; the most
important thing, I would say, is to really get used to and abuse the language as to
come to grips with it. Of course, this alone isn't going to make you a master
programmer, but it really helped me develop a feel for C and appreciation for
what has been done for us since then.