Become a Programmer, Motherfucker
If you don't know how to code, then you can learn even if you think you can't. Thousands of people have learned programming from these fine books:
Learn Python The Hard Way
Learn Ruby The Hard Way
Learn Code The Hard Way
I'm also working on a whole series of programming education books at
learncodethehardway.org. These are works in progress, and feedback is welcome.
Learn C The Hard Way
Learn SQL The Hard Way
Learn Regex The Hard Way
A Huge List of Free Books Programming Languages
Assembly Language Bash C / C++ C# Clojure ColdFusion
Delphi / Pascal Erlang F# Forth Haskell HTML / CSS Java JavaScript Latex Lisp Lua Nemerle Oberon Objective-C OCaml Oracle PL/SQL Parrot / Perl 6 Perl PHP PowerShell Prolog Python R Ruby
SQL
Frameworks
ASP.NET MVC Django Flex Grails .NET Ruby on Rails Tools
DB2 Git Linux
Maven Mercurial NoSQL
Oracle Server PostgreSQL Subversion Vim Emacs
General Topics
Graphics Programming Language Agnostic Graphics Programming
GPU Gems
GPU Gems 2 - ch 8,14,18,29,30 as pdf GPU Gems 3
Graphics Programming Black Book ShaderX series
DirectX manual (draft)
Learning Modern 3D Graphics Programming (draft) Language Agnostic
Object-Oriented Reengineering Patterns Foundations of Programming
Computer Musings (lectures by Donald Knuth) The Cathedral and the Bazaar
Patterns and Practices: Application Architecture Guide 2.0 Security Engineering
Digital Signal Processing For Engineers and Scientists Getting Real
OO Design
Best Kept Secrets of Peer Code Review NASA Software Measurement Handbook
NASA Manager Handbook for Software Development (PDF) Introduction to Functional Programming (class lectures and slides) How to Design Programs
Guide to the Software Engineering Body of Knowledge Online Course Materials
Algorithms (draft)
Data Structures and Algorithms Essential Skills for Agile Development
Programming Languages: Application and Interpretation Learn to Program
Patterns of Software: Tales from the Software Community (PDF) How to write Unmaintainable Code
The Art of Unix Programming
The Definitive Guide to Building Code Quality How to Think Like a Computer Scientist Planning Algorithms
Mathematical Logic - an Introduction (PDF) An Introduction to the Theory of Computation
Developers Developers Developers Developers (broken download link?) Linkers and loaders
Let's Build a Compiler
Producing Open Source Software How to Write Parallel Programs Don't Just Roll the Dice
97 Things Every Programmer Should Know How Computers Work
Introduction to Information Retrieval
Matters Computational
Type Theory and Functional Programming
Getting started with Open source development (PDF) Database Fundamentals (PDF)
Clever Algorithms
Summary of the GoF Design Patterns Flow based Programming
Algorithms and Data-Structures (PDF) Compiler Construction (PDF)
Project Oberon (PDF)
The Little Book of Semaphores Essential Skills for Agile Development I Am a Bug
Mining of Massive Datasets
Data-Intensive Text Processing with MapReduce (PDF)
Understanding IP Addressing: Everything you ever wanted to know (PDF) Operating Systems and Middleware (PDF and LaTeX)
Think Stats: Probability and Statistics for Programmers (PDF, code written in Python) The Architecture of Open Source Applications
ASP.NET MVC
NerdDinner Walkthrough Assembly Language
ProgrammingGroundUp (PDF)
Paul Carter's Tutorial on x86 Assembly
Software optimization resources by Agner Fog Bash
Advanced Bash-Scripting Guide Lhunath's Bash Guide
C / C++
The new C standard - an annotated reference
Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt The C book
Thinking in C++, Second Edition C++ Annotations
Software optimization resources by Agner Fog
Introduction to Design Patterns in C++ with Qt 4 (PDF) Object Oriented Programming in C (PDF)
Beej's Guide to Network Programming Learn C the hard way
Also see: The Definitive C++ Book Guide and List C#
C# School (covers C# 1.0 and 2.0) Threading in C#
C# Yellow Book (intro to programming) C# Programming - Wikibook
C# Essentials
Data Structures and Algorithms with Object-Oriented Design Patterns in C# Illustrated C# 2008 (.zip, dead link)
Clojure
Clojure Programming ColdFusion
CFML In 100 Minutes DB2
Getting started with IBM DB2 development (PDF) Getting started with DB2 Express-C (PDF)
Delphi / Pascal
Essential Pascal Version 1 and 2 The Tomes of Delphi
Django
Djangobook.com Erlang
Learn You Some Erlang For Great Good Flex
Getting started with Adobe Flex (PDF) F#
The F# Survival Guide
F Sharp Programming in Wikibooks
Real World Functional Programming (MSDN Chapters) Forth
Starting Forth Thinking Forth Git
Pro Git
The Git Community Book Git From The Bottom Up (PDF) Grails
Getting Start with Grails Haskell
Learn You a Haskell Real World Haskell HTML / CSS
Dive Into HTML5 HTML Dog Tutorials Java
Sun's Java Tutorials Thinking in Java
How to Think Like a Computer Scientist Java Thin-Client Programming
OSGi in Practice (PDF) Java 6 Tutorial (PDF) JavaScript
Eloquent JavaScript Crockford's JavaScript
jQuery Fundamentals (starts with JavaScript basics) Mozilla Developer Network's JavaScript Guide
Essential Javascript & jQuery Design Patterns for Beginners JavaScript (Node.js specific)
Up and Running with Node The Node Beginner Book Mastering Node.js Latex
Linux
Advanced Linux Programming Lisp
COMMON LISP: An Interactive Approach A Short Course in Common Lisp
Structure And Interpretation of Computer Programs A Gentle Introduction to Symbolic Computation (PDF) Practical Common Lisp
On Lisp
ANSI Common Lisp
Common Lisp the Language, 2nd Edition Successful Lisp
Let Over Lambda - 50 Years of Lisp Natural Language Processing in Lisp Lua
Programming In Lua (for v5 but still largely relevant)
Lua Programming Gems (not entirely free, but has a lot of free chapters and accompanying code)
Maven
Better Builds with Maven Maven by Example
Maven: The Complete Reference Repository Management with Nexus Developing with Eclipse and Maven Mercurial
HGInit - Mercurial Tutorial by Joel Spolsky Nemerle
Nemerle .NET
C# School (covers C# 1.0 and 2.0)
Visual Studio Tips and Tricks (VS 2003-2005 only) Entity Framework
Charles Petzold's .NET Book 0 Threading in C#
C# Yellow Book (intro to programming) C# Programming - Wikibook
C# Essentials
Data Structures and Algorithms with Object-Oriented Design Patterns in C# Nemerle
NoSQL
CouchDB: The Definitive Guide The Little MongoDB Book Oberon
Programming in Oberon (PDF) Objective-C
The Objective-C Programming Language OCaml
Unix System Programming in OCaml Introduction to OCaml (PDF)
Oracle's Guides and Manuals Oracle PL/SQL
PL/SQL Language Reference
PL/SQL Packages and Types Reference
Steven Feuerstein's PL/SQL Obsession - Videos and Presentations Parrot / Perl 6
Using Perl 6 (work in progress) Perl
Higher-Order Perl Perl The Hard Way Extreme Perl
Perl Free Online EBooks (meta-list) The Mason Book
Practical mod_perl Beginning Perl
Embedding Perl in HTML with Mason Perl & LWP
Perl for the Web
Web Client Programming with Perl Modern Perl 5
PHP
Symfony2
Practical PHP Programming (wiki containing O'Reilly's PHP In a Nutshell) Zend Framework: Survive the Deep End
Mastering PowerShell Prolog
Building Expert Systems in Prolog Adventure in Prolog
Prolog Programming A First Course Logic, Programming and Prolog (2ed) Introduction to Prolog for Mathematicians Learn Prolog Now!
Natural Language Processing in Prolog
Natural Language Processing Techniques in Prolog Prolog techniques Applications of Prolog Simply logical PostgreSQL Practical PostgreSQL Python Byte of Python
Building Skills in Python Version 2.5 Python Bibliotheca
Think Python (PDF)
Data Structures and Algorithms in Python Dive into Python
How to Think Like a Computer Scientist: Learning with Python Python for Fun
Invent Your Own Computer Games With Python Learn Python The Hard Way
Thinking in Python The Django Book
Snake Wrangling For Kids
Natural Language Processing with Python R
The R Manuals The R Language R by example
Computational Statistics, Jeremy Penzer Ruby
Programming Ruby
Why's (Poignant) Guide to Ruby (mirror) Mr. Neighborly's Humble Little Ruby Book Ruby Best Practices
MacRuby: The Definitive Guide Learn Ruby the hard way Ruby on Rails
Ruby on Rails Tutorial: Learn Rails By Example Scala
Programming in Scala, First Edition
A Scala Tutorial for Java programmers (PDF) Scala By Example (PDF)
Programming Scala Xtrace (Github) Lift (Github)
Pro Scala: Monadic Design Patterns for the Web
Exploring Lift (published earlier as "The Definitive Guide to Lift", PDF) Scheme
The Scheme Programming Language (Edition 4) Smalltalk
Free Online Smalltalk Books (meta-list) Squeak By Example (Smalltalk IDE) Subversion
Subversion Version Control (PDF) Version Control with Subversion SQL
Developing Time-Oriented Database Applications in SQL
Use The Index, Luke! (a guide to SQL database performance for developers) Learn SQL The Hard Way
Vim
A Byte of Vim Vim Recipes Emacs
An Introduction to Programming in Emacs Lisp (Third Edition) GNU Emacs manual