How I program C
Why Hacker News recommends it
HN recommends it as the one long programming video worth watching, a provocative and influential take on C.
What it is
Eskil Steenberg's two-hour talk on his personal approach to writing C, covering code style, structure, naming, pointers and large-project organization. He warns it contains a fair bit of programming religion.
Recommended by 8 HN commenters across 9 different months, 2017 to 2025.
What Hacker News said
Strong rec yesenadam · 2021-02 · on “Ask HN: Best tech talks/videos of 2020-1?”
Hi Eskil from Australia :-) I remember you posted that on the page from 40 days ago also hehe. I have too many ideas myself already, so that one wasn't so useful to me, but was interesting. However, I really liked Drama in games [0] and I seriously loved How I Program C [1]. It's been a big influence. Thank you! [0] [LINK] [1] [this video]
Strong rec suprjami · 2022-12 · on “Ask HN: Learn C in 2023?”
[LINK] If you have lots of time: [LINK] If you can't be bothered reading a whole book: [LINK] Exercises: [LINK] and [LINK] Once you have syntax and basic algorithms down well, watch this, the only 2 hour YouTube video I'll ever recommend: [this video] Both r/cprogramming and r/C_programming are active, also full of lazy students trying to get people to do their homework. If you come by, describe your problem well with code. Say you're learning for yourself, not for school. Together C & C++ is a good Discord if you prefer live chat: [LINK]
Strong rec MonkeyClub · 2022-12 · on “Ask HN: Learn C in 2023?”
> Once you have syntax and basic algorithms down well, watch this, the only 2 hour YouTube video I'll ever recommend: > [this video] Hard +1 on this! I think Eskil Steenberg work in C is really top notch - the video is heavily recommended, as is an overview of his work in general, he does some awesome stuff with C.
Recommends signa11 · 2017-03 · on “Principles for C programming”
this video: [this video] , from a talk by eskil-steenberg titled 'how i program in c' is, imho, pretty good as well.
Recommends quelsolaar · 2020-07 · on “Finally releasing my 15 years of C libraries as open source”
All code written in C89 Written from scratch, without any dependencies. All operating system interaction is warped and ported. FreeBSD License. -Forge: stdlib with math, text, A*, geometry math, memory debugger and much more. -Imagine: Threads, timing, setting, lib loading. -Betray: Platform layer, with plugin support, VR, Multi-touch, controllers and more. Win32 , Linux and limited MacOS support. -Relinquish: Rendering library, wrapping OpenGL supports and hides a wide range of extensions. -Seduce: 3D UI toolkit, text rendering and editing, fonts, 3D manipulators, cameras. Mouse / multi-touch / multi-user / controller support. -Testify: Networking and serialization. TCP, UDP, Files, NAT Hol
Recommends quelsolaar · 2021-03 · on “Thoughts Around Naming Variables”
As a C programmer i have two ways I go about selecting names. For anything uniqe, I use long post fix names. I think of them as a directory path to the functionality. So instead of: create_object(); delete_object(); I do: project_module_object_create(); project_module_object_delete(); I then do the same with files, so the above would probably reside in a file called: project_module_object.c This makes everything easy to find, you know where things belong and you can search for partial names to find instances of interfaces. For local variables, I have a small set of variable names that all have specific meninges like i, j, k, f, sum, found, best, length, count, that I always use in the same w
Recommends quelsolaar · 2021-04 · on “Beej’s Guide to C Programming [pdf]”
Try watching this: [this video] Its long and is filled with other stuff about C programming but it goes in to dept about how to think about pointers. Good Luck!
Recommends 59nadir · 2023-06 · on “I think Zig is hard but worth it”
For what it's worth I think this is an excellent choice. Back in 2019 I was deciding whether I wanted to pursue Zig full-time and one of the upsides that I determined was that once you reach critical mass writing all of your code for tools and things in Zig you end up with things that are really exactly what you need and with a very high baseline for speed, flexibility, and so on. Right now I'm considering the same thing but with Odin and for many of the same reasons that I had for Zig; it's an excellent language to write foundational code in and once you do, you end up being able to build significantly more understandable, reliable, stable and consistent things. This, but on a company level