We are still actively working on the spam issue.

Difference between revisions of "Programming resources"

From InstallGentoo Wiki
Jump to: navigation, search
m (God-tier books: Changed the edition of Advanced UNIX programming)
m (God-tier books: Added some book descriptions)
Line 16: Line 16:
 
These books are essential books that people should have, or at least have read or know about:
 
These books are essential books that people should have, or at least have read or know about:
  
* [http://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools Compilers: Principles, Techniques and Tools] (a.k.a The Dragon Book)
+
* [http://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,_and_Tools Compilers: Principles, Techniques and Tools] (a.k.a The Dragon Book). This book is loaded with all the theory and concepts needed to design, implement and optimise a compiler. It's the go-to compiler book.
 
* [http://en.wikipedia.org/wiki/Operating_Systems:_Design_and_Implementation 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.
 
* [http://en.wikipedia.org/wiki/Operating_Systems:_Design_and_Implementation 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.
* [http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming The Art of Computer Programming] by Donald Knuth (essentially the holy grail of [[Computer Science]] literature.)
+
* [http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming The Art of Computer Programming] by Donald Knuth (essentially the holy grail of [[Computer Science]] literature). Bill Gates said that if anyone can read every volume in TAOCP from cover to cover, then they should definitely send him their CV/Resume.
* [http://books.cat-v.org/computer-science/unix-programming-environment/ The UNIX Programming Environment]
+
* [http://books.cat-v.org/computer-science/mythical-man-month/tmmm.pdf The Mythical Man Month: Essays on Software Engineering]. A compilation of essays on what experienced software engineers and programmers have learned from their successes and failures over many years.
* [http://books.cat-v.org/computer-science/mythical-man-month/tmmm.pdf The Mythical Man Month: Essays on Software Engineering]
+
* [http://en.wikipedia.org/wiki/Design_Patterns Design Patterns: Elements of Reusable Object-Oriented Software]. Design patterns and principles designed to help object-oriented software.
* [http://en.wikipedia.org/wiki/Design_Patterns Design Patterns: Elements of Reusable Object-Oriented Software]
+
* [http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar The Cathedral and the Bazaar]. Eric S. Raymond's book on Closed-house development (cathedral) vs open-source, distributed development (bazaar), and how the latter is much more effective.
* [http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar 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 '''K'''ernighan and Dennis '''R'''itchie.
 
* The C Programming Language, mentioned below. Also known as K&R because it was written by the founders of C, Brian '''K'''ernighan and Dennis '''R'''itchie.
 
* Structure and Interpretation of Computer Programs, listed below
 
* Structure and Interpretation of Computer Programs, listed below
* [http://en.wikipedia.org/wiki/The_Unix_Programming_Environment 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.  
+
* [http://books.cat-v.org/computer-science/unix-programming-environment/ The UNIX Programming Environment, 2nd edition] An excellent introductory *nix book. Written by Brian Kernighan (of K&R) and Rob Pike (invented Golang), both of whom were involved with the creation of UNIX.  
 
* [http://basepath.com/aup/ Advanced UNIX Programming, 2nd Edition] Recommended as a follow on book from The UNIX Programming Environment. Contains information on over 300 syscalls.
 
* [http://basepath.com/aup/ Advanced UNIX Programming, 2nd Edition] Recommended as a follow on book from The UNIX Programming Environment. Contains information on over 300 syscalls.
  

Revision as of 06:04, 18 February 2014

Imbox move.png
Imbox move.png
MOVE CANDIDATE
This page is being proposed to be moved to somewhere else. Relevant discussion may be found on the talk page. Reason: Programming resources as of wikipedia:Wikipedia:Naming conventions (capitalization) and talk page conversation
The principal programming paradigms

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:

God-tier books

These books are essential books that people should have, or at least have read or know about:

C

C++

C#

Forth

Haskell

Lisp

Scheme

Common Lisp

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

Python