loading...

re: When you want to learn C in 2019 VIEW POST

TOP OF THREAD FULL DISCUSSION
re: "Learn C the Hard Way" by Zed Shaw It is the best modern book on C I've ever read! It introduces the concepts, pitfalls, features, and gotchas in ...
 

cool! I was afraid that LCTHW was going to be sort of high level-ish. I'll take a look!

I'm going through Build Your Own Lisp because I find myself in sorely need of learn more tooling (autotools) and stdlib.

Thanks for the comment :)

 

John Calcote, Autotools: A Practitioner's Guide

 

"Learn C the hard way" is definitely a great book for modern C. Other than that, I find that like with almost any other programming learning challenge, the best thing to do is find something you want to build and do so in C!

I absolutely agree. However, as a self-trained developer in several languages, I have learned there is significant value to following books and courses. When you learn via a project, you only absorb those parts of the language you needed.

Case in point, although I first started using Python in 2011, it wasn't until 2018 that I learned several tools in Python, including decorators and list comprehensions. Why? I'd never needed them, or else, never realized I could use them in place of some approaches I was more used to. Despite nearly seven years of regular Python development, I knew I had some massive gaps in my knowledge, so I started going through a comprehensive Udemy course for the language, and I'm so glad I did!

This isn't to say that projects aren't important -- you won't ever truly master a language until you build something meaningful in it -- rather, one should pair project-based learning with a good quality book or self-paced course.

Or, if all else fails, go read the documentation cover to cover. (Some of us are demented enough that we can do that.)

 

Another excellent book is "Crafting Interpreters" by Bob Nystrom. The second part of the book (still in progress) is how to create an interpreter in C
craftinginterpreters.com/contents....

code of conduct - report abuse