4 ms·
Great post! Univiersites tend to teach a very small subset of C, just enough to make a tic tac toe application or something silly. I learned C by myself many y
by latenightcoding 10y ago
Great post!
Univiersites tend to teach a very small subset of C, just enough to make a tic tac toe application or something silly.
I learned C by myself many years ago but it's only until recent I have been using it for big projects.
Reading Redis' source code was a great aide, xv6 is also amazing to learn systems programming.
Learn C The Hard Way is also a good read, but not as your main book, since it goes too fast.
Other invaluable resources are: Beej's Guide to Network Programming and Beej's Guide to Unix Interprocess Communication
A good advanced book is Advanced Programming in the Unix Environment
- satysin 10y agoBooks I have read so can personally recommend are (in no particular order) Programming in C C Primer Plus K&R (obviously) 21st Century C Modern C (also mentioned in this post) Understanding and Using Pointers in C
- gcr 10y agoI loved "Expert C Programming: Deep C Secrets" by Peter Van der Linden. Great deep dive on the minutiae of important details (the difference between arrays and pointers as function arguments, etc)
- krylon 10y agoI do agree, that book is really great, both very in-depth and at the same time entertaining to read. Unfortunately, it appears to have been out of print for a while now. Another book I can highly recommend is "The New C Standard: A Cultural and Economic Commentary" (http://www.knosof.co.uk/cbook/cbook.html http://www.knosof.co.uk/cbook/cbook.html). It takes apart the C language standard (C99) pretty much sentence by sentence, explains what it means and also contrasts how C99 is similar to or different from other languages (C++ mostly, but also, say, Fortran or Pascal).
- noxToken 10y ago+1 for Beej. I barely knew C when I enrolled in network programming, so trying to fill my C gaps alongside learning network programming was challenging. Someone recommended Beej. Then it was just a matter of C.
- rhinoceraptor 10y agoAPUE is a great reference book, but I didn't find myself reading it linearly.
- nickpsecurity 10y agoA few people mentioned xv6. What aspects did you find amazing for your learning process?
- nojvek 10y agoIs there a commentary on Redis source code? Always been fascinated how they implement the data structures.
- latenightcoding 10y agohttp://www.heychinaski.com/blog/2013/10/14/a-look-at-the-redis-source-code/ http://www.heychinaski.com/blog/2013/10/14/a-look-at-the-red... https://pauladamsmith.com/articles/redis-under-the-hood.html https://pauladamsmith.com/articles/redis-under-the-hood.html https://pauladamsmith.com/blog/2011/03/redis_get_set.html https://pauladamsmith.com/blog/2011/03/redis_get_set.html http://redis.io/topics/internals http://redis.io/topics/internals
- nojvek 10y agoThis is awesome. Thanks a lot.