« earlier | later » Page 3 of 7
Time, Clock, and Calendar Programming In C
Nice explanation of the various historical stages of development of the C time APIs.
to ag0803 api c calendar date posix time timing unix ... on 03 October 2014
Tool for automatically emitting #includes for POSIX functions that have been used (which was on my ideas list).
How C# implements generators by desugaring them into a state machine.
to c generator iterator language-design sugar ... on 13 August 2014
A dangling pointer is indeterminate | TrustInSoft
Well, that's an interesting bit of the C standard: "free(m); if (m == NULL) ..." is undefined behaviour...
to c language-design memory semantics undefined ... on 15 July 2014
Honza Hubička's Blog: Linktime optimization in GCC, part 1 - brief history
Excellent overview of the different whole-program optimisation strategies that GCC has explored. Some other good stuff about compiler optimisation on this blog too.
The Power of Ten -- Rules for Writing Safety Critical Code
This largely matches what I'd recommend anyway, but perhaps I should encourage students to make more use of assertions. This could be summarised as "make it possible to do static analysis on your code".
to ag0700 c coding-style safety static-analysis ... on 26 March 2014
Sun's TeamWare team adopts C++ in the early 90s, and reflects on what they did and didn't like. (I find it kind of amazing that they didn't see any value in local variable declarations.)
to c c++ language-design ... on 05 March 2014
Replacing a Unix userspace more-or-less from scratch, including a compiler, libc, and so on.
An excellent overview of what makes C (and the C subset of C++) an unusual programming language. Students: well worth a read.
to ag0700 ag0803 architecture c language-design programming teaching ... on 10 February 2014
« earlier | later » Page 3 of 7
tasty by Adam Sampson.