![]() It's certainly possible to write extremely obfuscated code, but in practice, I find that I'm only rarely baffled reading someone else's C code. It's also a language that you can actually hold in your head at one time, because there's very little sugar going on. It's screaming-fast, the library ecosystem is absolutely gigantic, there are decades of others' wisdom and experience upon which to draw, it shows no signs of going away any time soon, and you'll have very little trouble keeping up with changes in the language. And yes: it's an "unsafe" language that can set your hair on fire. That sounds a bit narrow, but it's really a book about how you handle - and think about - memory in C, and it can be very eye-opening (even for people with a lot of experience with the language).Ĭ forces you to think about things that you seldom have to consider with Javascript, Python, or Go. I might also put in a plug for Reese's Understanding and Using C Pointers. That's focused on large projects and APIs, but it will give you a good sense of the "cognitive style" of C.Ģ1st Century C is very opinionated, and it spends a great deal of time talking about tooling, but overall, it's a pretty good orientation to the C ecosystem and more modern idioms and libraries. You might have a look at Hanson's C Interfaces and Implementations: Techniques for Creating Reusable Software. I admire the K&R as much as anyone else, but it's not exactly an up-to-date language resource at this point, and it doesn't really provide any guidance on the design and structure of systems in C (that's not it's purpose). I think Gustedt's book is superb if you're just trying to learn the language, and it does a good job of presenting the most up-to-date standard. It sounds like you're not asking, "How do I learn the language?" but "How do I know I'm doing it right?"
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |