tmewett
Homemade incremental programming, part 1: how and why to abolish update code
Developing on Windows: Comparing Native, MinGW, Cygwin, WSL
React is more than UI–it's a side-effect framework
React-like declarative components for the whole family
I don't really like stack/heap terminology. "Heap" especially is a nightmare because (a) it also means some specific, irrelevant kind of data structure and (b) there's so many ways of implementing allocation it feels wrong to call it "the" anything.
Function variables are deleted after return, allocated stuff isn't - no need to know about stack pointers, etc. It's good enough for me!
But it's really interesting to hear from other programmers who learned things in the historical order. I suppose I come from a new generation where abstractions are first, and I wrote this article for them, really.
Lots of people say this, indeed several comments here talk about learning assembly before C being beneficial.
I actually think this is not true, today. In its original incarnation C may have mapped closely to instructions, but the details of e.g. x86 are IMO neither necessary nor particularly useful knowledge. Knowing what memory is like and how stuff is laid out is enough.
C is not just a super-thin layer to the bare metal. By "integers are cursed," I mean exactly that: C integers are cursed. The arithmetic behaviours that standard C defines for integers are error-prone and in many cases undefined. C is a layer and it has its own behaviour, it doesn't just expose your CPU.