We are still actively working on the spam issue.
Programming resources
The following is a list of recommended books for learning how to program:
First, check GitHub's extensive list of free programming books: https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md
Second, a very comprehensive list: http://programming-motherfucker.com/
The gentoomen have also provided a torrent at http://books.gentoomen.org/ which has a metric fuckton of books, and if you prefer actual physical books, you can get them for really cheap from http://abebooks.com
If you don't see the book you're looking for listed, search the following lists for other sources of books:
Contents
God-tier books
These books are essential books that people should have, or at least have read or know about:
- Compilers: Principles, Techniques and Tools (a.k.a The Dragon Book)
- Operating Systems: Design and Implementation (a.k.a the MINIX book). This is one of the books Linus Torvalds used to write the original Linux kernel.
- The Art of Computer Programming by Donald Knuth (essentially the holy grail of Computer Science literature.)
- The UNIX Programming Environment
- The Mythical Man Month: Essays on Software Engineering
- Design Patterns: Elements of Reusable Object-Oriented Software
- The Cathedral and the Bazaar
- The C Programming Language, mentioned below. Also known as K&R because it was written by the founders of C, Brian Kernighan and Dennis Ritchie.
- Structure and Interpretation of Computer Programs, listed below
- The UNIX Programming Environment, 2nd edition An excellent introductory *nix book. Written by Brian Kernighan (of K&R) and Rob Pike (invented Golang), both core UNIX devs.
- Advanced UNIX Programming, 2nd Edition Recommended as a follow on book from The UNIX Programming Environment. Contains information on over 300 syscalls.
C
- The C Programming Language by Brian Kernighan and Dennis Ritchie
- O'Reilly - Practical C Programming
C++
C#
Forth
- Thinking Forth (PDF download)
Haskell
Lisp
Scheme
- Structure and Interpretation of Computer Programs (Read it online)
- The Little Schemer
- The Seasoned Schemer
- The Reasoned Schemer
Common Lisp
- Common Lisp: A Gentle Introduction to Symbolic Computation (PDF download)
- Practical Common Lisp (Read it Online)
- On Lisp (PDF and Postscript download)
- Let Over Lambda
Pascal
Ruby
- The Ruby Programming Language by David Flanagan and Yukihiro Matsumoto
- Ruby In A Nutshell by Yukihiro Matsumoto
- Programming Ruby 1.9 & 2.0 (4th edition) (a.k.a. The Pickaxe) by Dave Thomas, Chad Fowler and Andy Hunt
- Metaprogramming Ruby by Paolo Perrotta
- Eloquent Ruby by Russ Olsen
- The Well-Grounded Rubyist by David A. Black