Resources
C Programming language
Online resources
- cplusplus.com -- A good reference
- Learn C The Hard Way -- A tutorial for an absolute beginner
- A C Programming Tutorial by Steve Holmes (University of Strathclyde)
- C Tutorial from Cprogramming.com.
- Object-Oriented Programming with ANSI-C -- An excellent book on how to write object-oriented code in C
Books
- Kenneth A. Reek. Pointers on C. Addison-Wesley, 1998. -- Appropriate if you have some prior knowledge of C (although it claims to aim at those without any such knowledge).
- Ben Klemens. 21st Century C. 2nd edition. O'Reilly, 2014. -- Appropriate if you have a comfortable knowledge of the basics.
Linux Systems Programming
Online resources
- The GNU C Library Manual -- A comprehensive reference on glibc.
- Linux man pages -- A comprehensive reference on the Linux programming interface.
Books
- W. Richard Stevens and Stephen A. Rago. Advanced Programming in the UNIX Environment (3rd edition). Addison-Wesley, 2013. -- A classic book on UNIX system calls and Standard C Library.
- Michael Kerrisk. The Linux Programming Interface. No Starch Press, 2010.
- Robert Love. Linux System Programming (2nd edition). O'Reilly, 2013.
Development tools
Git
- Pragmatic Version Control Using Git by Travis Swicegood -- Appropriate for an absolute beginner.
- Pro Git by Scott Chacon and Ben Straub -- A very thorough introduction for a beginner.
- Think Like (a) Git -- Appropriate if you have a comfortable knowledge of the basics.
- A Git talk by Linus Torvalds
- Git community -- Wealth of resources.
gdb
- Using The GNU Debugger by Peter Salzman -- A good starting point, provides a good theoretical foundation
- GNU gdb tutorial -- Very comprehensive, but rather dense
make
emacs
- Absolute Beginner's Guide to emacs
- A Tutorial Introduction to GNU emacs
- A Guided Tour of emacs -- An official tutorial from GNU; probably, should not be your starting point if you have never used emacs
Maintained by Dmitry Shkatov Last modified: Fri Jul 12 13:03:55 SAST 2019