Learn C by pairing (mostly remotely) with an experienced C programmer.
Stated long term goal: to become fluent and confident in C, in order to be interested, willing, and able to hack the perl core.
A combination of pairing sessions, code reviews, home work, transmission.
- Hello, World! (0)
- Implement a hashtable from scratch (1)
- Turn the hashtable into a library (2)
- Implement a double-ended linked list with which you can "push, pop, shift, and unshift" items.
- Write a library providing the hashtable and double-ended linked list
- Write a custom allocator
- Bind to a C library using XS
- Solve the Advent of code in C
- A list of challenging projects
- 21st Century C, Ben Klemens
- Obfuscated C and Other Mysteries, Don Libes
- Structure and Interpretation of Computer Programs, Harold Abelson and Gerald Jay Sussman
- How to Design Programs, Matthias Felleisen, Robert Bruce Findler, Matthew Flatt and Shriram Krishnamurthi