3 ms·
Ask HN: Resources for Learning C
Hi HN,
I'd like to get back into low level programming and learn C properly. I am a seasoned programmer for many years in high level languages. I've done a few small embedded projects on ESP32 and wanted to seriously learn C.
What are some of the interesting intermediate/advanced resources for learning C? Even if it is not in a "tutorial" format, if you could share some projects, or repositories I should look at and implement my own version? Of course, would welcome C programming books and how to professionally write C avoiding common traps.
I've also read K&R cover-to-cover and I found that it lived up to the its popularity. I tried searching on HN but couldn't find a definitive thread for learning C specifically.
Thank you!
- ksaj 5y agoI like this Derek Banas guy. He puts out a lot of videos with titles like "Learn <language> in one video" and they're actually pretty good. He's very much a programming language enthusiast. I sometimes watch his videos for languages I don't even intend on learning just to see how they work, because he has a particular structure that makes it easy to compare. And he sounds like he actually enjoys dissecting and talking about them. He also does videos for other skills, but the vast majority are computer related. I think C might be his home language because he has a few videos in that series, and a lot more when it comes to other C family topics. Here's the first one for C programming. https://www.youtube.com/watch?v=nXvy5900m3M Check out his other YouTube videos. You can really go down a few rabbit holes on his page alone. EDIT: He has a channel for all his C tutorials here: https://www.youtube.com/watch?v=8Ib7nwc33uA&list=PLGLfVvz_LVvSaXCpKS395wbCcmsmgRea7 https://www.youtube.com/watch?v=8Ib7nwc33uA&list=PLGLfVvz_LV...
- Nicksil 5y agoBeej Beej's Guide to C Programming: https://beej.us/guide/bgc/ https://beej.us/guide/bgc/ Beej's Guides: https://beej.us/guide/ https://beej.us/guide/
- systemvoltage 5y ago> Before we go on, why would I even begin to bother pointing out that a pound sign is called an octothorpe? The answer is simple: I think the word octothorpe is so excellently funny, I have to gratuitously spread its name around whenever I get the opportunity. Octothorpe. Octothorpe, octothorpe, octothorpe. So anyway. After the C preprocessor has finished preprocessing everything, the results are ready for the compiler to take them and produce assembly code8, machine code9, or whatever it’s about to do. Don’t worry about the technical details of compilation for now; just know that your source runs through the preprocessor, then the output of that runs through the compiler, then that produces an executable for you to run. Octothorpe. This is the most excellent! The author is hilarious, I'm already hooked. Thanks!
- ThrowawayR2 5y agoPerhaps these past threads might be of interest? - https://news.ycombinator.com/item?id=22519876 https://news.ycombinator.com/item?id=22519876 - https://news.ycombinator.com/item?id=21006995 https://news.ycombinator.com/item?id=21006995
- systemvoltage 5y agoPerfect and many thanks. The first one is a gold mine, not sure how I didn't find it.