转载自:http://xuming.net/2010/06/freebook.html 原文出处不详。
Languages
C
C++
- Thinking in C++
- C++ Annotations
- How to Think Like a Computer Scientist
- Software optimization resources by Agner Fog
- Effective STL by Scott Meyers
- More Effective C++ by Scott Meyers
C#
- .NET Book Zero: What the C or C++ Programmer Needs to Know About C# and the .NET Framework
- Data Structures and Algorithms with Object-Oriented Design Patterns in C#
- Threading in C#
Common Lisp
Haskell
Java
- Thinking in Java
- How to Think Like a Computer Scientist
- Java Thin-Client Programming
- OSGi in Practice (CreativeCommons Attribution Non-commercial Share Alike License)
JavaScript
- Eloquent JavaScript
- jQuery Fundamentals (starts with JS basics)
Lua
- Programming In Lua (for v5 but still largely relevant)
NoSQL
Objective-C
Perl
Perl 5
- Beginning Perl
- Extreme Perl (license not specified – home page is saying "freely available")
- Embedding Perl in HTML with Mason (Open Publication License)
- Practical mod_perl (CreativeCommons Attribution Share-Alike License)
- Higher-Order Perl
- Learning Perl the Hard Way
- Perl & LWP
- Perl for the Web
- Web Client Programming with Perl
- Modern Perl 5 (Work in progress)
Perl 6
- Perl 6 (Work in progress)
PHP
- Practical PHP Programming
- Zend Framework: Survive the Deep End
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 Techniques in Prolog
Python
- Dive Into Python
- Dive Into Python 3
- How to Think Like a Computer Scientist
- A Byte of Python
- Python for Fun
- Invent Your Own Computer Games With Python
- Thinking in Python
Ruby
- Why's (Poignant) Guide to Ruby
- Programming Ruby – The Pragmatic Programmer's Guide
- Mr. Neighborly's Humble Little Ruby Book
- Ruby Best Practices
- MacRuby: The Definitive Guide
Scheme
Shell
- Advanced Bash-Scripting Guide (An in-depth exploration of the art of shell scripting)
- Mastering PowerShell
SQL
x86 assembly
Algorithms and Data Structures
- Algorithms
- Data Structures and Algorithms with Object-Oriented Design Patterns in Java
- Planning Algorithms
Frameworks/Projects
- The Django Book
- The Pylons Book
- Introduction to Design Patterns in C++ with Qt 4 (Open Publication License)
- Ruby on Rails Tutorial: Learn Rails By Example
- The Definitive Guide to symfony
Text Editors and IDE's
Version control
Release Tools
Unix / Linux
Others
- Structure and Interpretation of Computer Programs (Creative Commons Attribution-Noncommercial 3.0 Unported License.)
- The Little Book of Semaphores
- Mathematical Logic – an Introduction
- An Introduction to the Theory of Computation
- Developers Developers Developers Developers
- Linkers and loaders
- Beej's Guide to Network Programming
- Domain Driven Design Quickly – based on Eric Evans's book.
- Let's Build a Compiler, by Jack Crenshaw
- Producing Open Source Software
- How to Write Parallel Programs
- Don't Just Roll the Dice (A usefully short guide to software pricing)