Free Programming Books

https://github.com/vhf/free-programming-books

Index

  • Meta-Lists
  • Graphics user interfaces
  • Graphics Programming
  • Language Agnostic
    • Algorithms & Datastructures
    • Theoretical Computer Science
    • Operating systems
    • Database
    • Networking
    • Compiler Design
    • Programming Paradigms
    • Parallel Programming
    • Software Architecture
    • Open Source Ecosystem
    • Information Retrieval
    • Datamining
    • Machine Learning
    • Mathematics
    • Misc
    • Web Performance
    • MOOC
    • Professional Development
  • Ada
  • Android
  • APL
  • Autotools
  • ASP.NET MVC
  • Assembly Language
  • Bash
  • C
  • C++
  • Clojure
  • CoffeeScript
  • ColdFusion
  • D
  • Dart
  • DTrace
  • DB2
  • Delphi / Pascal
  • Elasticsearch
  • Emacs
  • Erlang
  • Flex
  • F#
  • Forth
  • Git
  • Go
  • Grails
  • Hadoop
  • Haskell
  • HTML / CSS
  • Icon
  • IDL
  • iOS
  • J
  • Java
    • Wicket
  • JavaScript
    • Backbone.js
    • D3.js
    • jQuery
    • Knockout.js
    • Node.js
  • LaTeX
  • Linux
  • Lisp
  • Lua
  • Mathematica
  • Maven
  • Mercurial
  • .NET (C# / VB / Nemerle / Visual Studio)
  • NoSQL
  • Oberon
  • Objective-C
  • OCaml
  • Octave
  • OpenSCAD
  • Oracle Server
  • Oracle PL/SQL
  • Parrot / Perl 6
  • Perl
  • PHP
  • PowerShell
  • Processing
  • Prolog
  • PostgreSQL
  • Python
    • Django
    • Flask
  • R
  • Racket
  • Ruby
  • Ruby on Rails
  • Rust
  • Sage
  • Scala
  • Scheme
  • Scilab
  • Scratch
  • Sed
  • Smalltalk
  • Subversion
  • SQL (implementation agnostic)
  • SQL Server
  • Teradata
  • TeX
  • Theory
  • TypeScript
  • Vim
  • Websphere
  • Windows Phone

Meta-Lists

  • 25 Free Computer Science Ebooks
  • Cheat Sheets (Free)
  • E-Books Directory
  • Free Smalltalk Books, collected by Stéphane Ducasse
  • Free Tech Books
  • Hacker Shelf
  • Microsoft Press: Free E-Books
  • MindView Inc
  • O'Reilly's Commons
  • O'Reilly's Open Books Project
  • TechBooksForFree.com
  • Theassayer.org
  • Wikibooks: Programming
  • JSBooks - directory of free javascript ebooks
  • Learn X in Y minutes

Graphics Programming

  • DirectX manual (draft)
  • Learning Modern 3D Graphics Programming (draft)
  • Introduction to Modern OpenGL
  • GPU Gems
  • GPU Gems 2 - ch 8,14,18,29,30 as pdf
  • GPU Gems 3
  • Graphics Programming Black Book
  • OpenGL Insights (chapters 22, 23, 28, 33, 39)
  • ShaderX series
  • Tutorials for modern OpenGL

Graphics User Interfaces

  • Programming with gtkmm 3

Language Agnostic

Algorithms & Datastructures

  • Algorithms and Data-Structures (PDF)
  • Algorithms (draft)
  • Algorithms Course Materials - Jeff Erickson
  • Algorithms, 4th Edition - Robert Sedgewick and Kevin Wayne
  • Binary Trees (PDF)
  • Clever Algorithms
  • Computational Geometry: Algorithms and Applications (chapters 1 and 9, pseudo-code)
  • Data Structures and Algorithms: Annotated Reference with Examples
  • The Algorithm Design Manual
  • Hacker's Delight (chapter 2, code)
  • LEDA: A Platform for Combinatorial and Geometric Computing
  • Planning Algorithms
  • Linked List Basics (PDF)
  • Linked List Problems (PDF)
  • Open Data Structures
  • Purely Functional Data Structures (PDF)
  • The Great Tree List Recursion Problem (PDF)
  • Matters Computational
  • Algorithmic Graph Theory
  • Foundations of Computer Science - Al Aho and Jeff Ullman
  • A Field Guide To Genetic Programming
  • The Art of Computer Programming (fascicles, mostly volume 4)
  • Programming Pearls
  • Algorithms for Programmers: Ideas and Source Code (PDF)
  • Sequential and parallel sorting algorithms
  • Text Algorithms (PDF)
  • Problem Solving with Algorithms and Data Structures
  • Data Structures Succinctly Part 1, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
  • Data Structures Succinctly Part 2, Syncfusion (PDF, Kindle) (Just fill the fields with any values)

Theoretical Computer Science

  • Structure and Interpretation of Computer Programs
  • Programming Languages: Application and Interpretation
  • Introduction to Computing
  • An Introduction to the Theory of Computation
  • Think Complexity - Allen B. Downey

Operating systems

  • The Art of Unix Programming
  • The Little Book of Semaphores - Allen B. Downey
  • Operating Systems and Middleware (PDF and LaTeX)
  • Practical File System Design:The Be File System(PDF) - Dominic Giampaolo

Database

  • Database Fundamentals (PDF)
  • Database-backed Web Sites

Networking

  • High-Performance Browser Networking
  • The TCP/IP Guide
  • Understanding IP Addressing: Everything you ever wanted to know (PDF)
  • ZeroMQ Guide
  • Network Security Tools
  • HTTP Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
  • Computer Networking: Principles, Protocols and Practice (CNP3) (PDF, EPUB, MOBI + sources) - O. Bonaventure
  • Computer Networking: Principles, Protocols and Practice, 2nd edition (CNP3bis) (PDF, EPUB + sources) - O. Bonaventure (in progress)

Compiler Design

  • Compiler Construction (PDF)
  • Let's Build a Compiler (PDF)
  • Linkers and loaders
  • Compiler Design: Theory, Tools, and Examples
  • Practical and Theoretical Aspects of Compiler Construction (class lectures and slides)
  • Basics of compiler design - Torben Mogensen

Programming Paradigms

  • Introduction to Functional Programming (class lectures and slides)
  • Type Theory and Functional Programming

Parallel Programming

  • How to Write Parallel Programs
  • High Performance Computing (PDF, ePUB) - Charles Severance & Kevin Dowd
  • Is Parallel Programming Hard, And, If So, What Can You Do About It?
  • Introduction to Parallel Computing - Blaise Barney
  • Programming on Parallel Machines; GPU, Multicore, Clusters and More - Norm Matloff

Software Architecture

  • Seamless Object-Oriented Software Architecture (PDF)
  • How to write Unmaintainable Code
  • Object-Oriented Reengineering Patterns
  • Patterns and Practices: Application Architecture Guide 2.0
  • The Definitive Guide to Building Code Quality
  • Patterns of Software: Tales from the Software Community (PDF)
  • Best Kept Secrets of Peer Code Review
  • Domain Driven Design Quickly
  • Essential Skills for Agile Development
  • Guide to the Software Engineering Body of Knowledge
  • Programming Reliable Systems (Joe Armstrong's PhD thesis) (PDF)
  • How to Design Programs
  • NASA Manager Handbook for Software Development (PDF)
  • NASA Software Measurement Handbook
  • Don't Just Roll the Dice

Open Source Ecosystem

  • Data Journalism Handbook
  • Free Software, Free Society
  • Getting started with Open source development (PDF)
  • Innovation Happens Elsewhere
  • Producing Open Source Software
  • The Cathedral and the Bazaar
  • The Architecture of Open Source Applications
  • The Future of the Internet
  • The Performance of Open Source Applications

Information Retrieval

  • Introduction to Information Retrieval

Datamining

  • Data Mining and Analysis: Fundamental Concepts and Algorithms (Draft)
  • Mining of Massive Datasets
  • The Elements of Statistical Learning
  • A Programmer's Guide to Data Mining (Draft)

Machine Learning

  • Programming Computer Vision with Python
  • A Course in Machine Learning
  • Computer Vision: Algorithms and Applications
  • Bayesian Reasoning and Machine Learning
  • Introduction to Machine Learning (PDF)
  • Gaussian Processes for Machine Learning
  • Information Theory, Inference, and Learning Algorithms
  • Artificial Intelligence | Machine Learning - Andrew Ng (Notes, lectures, and problems)
  • Probabilistic Models in the Study of Language (Draft, with R code)
  • Reinforcement Learning: An Introduction

Mathematics

  • Think Bayes: Bayesian Statistics Made Simple - Allen B. Downey
  • Think Stats: Probability and Statistics for Programmers (code written in Python) - Allen B. Downey
  • Mathematical Logic - an Introduction (PDF)
  • Bayesian Methods for Hackers
  • Introduction to Statistical Thought
  • Mathematics for Computer Science
  • Category Theory for Computing Science (PDF)
  • Essentials of Metaheuristics by Sean Luke
  • Advanced Data Analysis from an Elementary Point of View
  • Probability and Statistics Cookbook

Misc

  • 97 Things Every Programmer Should Know
  • 97 Things Every Programmer Should Know - Extended
  • A Mathematical Theory of Communication by Claude E.Shannon
  • Asterisk™: The Definitive Guide
  • How to Think Like a Computer Scientist
  • I Am a Bug
  • Learn to Program
  • Foundations of Programming
  • Communicating Sequential Processes (PDF) by Tony Hoare
  • Come, Let's Play: Scenario-Based Programming Using Live Sequence Charts
  • Computer Musings (lectures by Donald Knuth)
  • How Computers Work
  • Data-Intensive Text Processing with MapReduce (PDF)
  • Designing Interfaces by Jennifer Tidwell
  • Digital Signal Processing For Engineers and Scientists
  • Distributed systems for fun and profit
  • Flow based Programming
  • Getting Real
  • Magic Ink: Information Software and The Graphical Interface by Bret Victor
  • Modeling Reactive Systems with Statecharts
  • PNG: The Definitive Guide
  • Pointers And Memory (PDF)
  • Programmer's Motivation for Beginners
  • Project Oberon (PDF)
  • Security Engineering
  • Small Memory Software
  • SVG Essentials
  • Introduction to High-Performance Scientific Computing - Victor Eijkhout
  • Object-Oriented Reengineering Patterns - Serge Demeyer, Stéphane Ducasse and Oscar Nierstrasz
  • High-Performance Scientific Computing (class lectures and slides)
  • Mother Tongues of Computer Languages (PNG)

Web Performance

  • Book of Speed by Stoyan Stefanov

MOOC

  • MIT OCW
  • Coursera
  • Udacity
  • edX

Professional Development

  • Don't Just Roll the Dice (PDF) (RedGate, By Neil Davidson)
  • Confessions of an IT Manager (RedGate, By Phil Factor)

Ada

  • Ada 95: The Craft of Object-Oriented Programming
  • Ada Distilled (PDF)
  • Ada for Software Engineers (PDF)

Android

  • Google Android Developer Training
  • Coreservlets Android Programming Tutorial
  • Expert Android and Eclipse development knowledge

APL

  • A Practical Introduction to APL1 & APL2
  • A Practical Introduction to APL2 & APL3
  • Mastering Dyalog APL (PDF)

Autotools

  • GNU Autoconf, Automake and Libtool
  • Autotools Mythbuster

ASP.NET MVC

  • ASP.NET MVC Music Store
  • NerdDinner Walkthrough

Assembly Language

  • Paul Carter's Tutorial on x86 Assembly
  • Professional Assembly Language (PDF)
  • Programming from the Ground Up (PDF)
  • Software optimization resources by Agner Fog
  • The Art of Assembly Language Programming
  • x86 Assembly
  • Ralf Brown's Interrupt List

Non-X86

  • Machine Code for Beginners (PDF) by Lisa Watts and Mike Wharton [Z80 and 6502 CPUs]
  • Machine Language for Beginners by Richard Mansfield [6502 CPU]

Bash

  • Advanced Bash-Scripting Guide
  • Bash Guide for Beginners by Machtelt Garrels
  • Lhunath's Bash Guide
  • The Command Line Crash Course (also a Powershell reference)

C

  • A Tutorial on Pointers and Arrays in C
  • Beej's Guide to C Programming
  • Beej's Guide to Network Programming
  • The C book
  • Essential C (PDF)
  • Learn C the hard way
  • The new C standard - an annotated reference
  • Object Oriented Programming in C (PDF)
  • C Programming - Wikibooks

C++

  • C++ Annotations
  • C++ GUI Programming With Qt 3
  • CS106X Programming Abstractions in C++
  • Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt (PDF)
  • Software optimization resources by Agner Fog
  • Thinking in C++, Second Edition, Vol. 1. (Vol. 2)
  • How To Think Like a Computer Scientist: C++ Version - Allen B. Downey
  • Also see: The Definitive C++ Book Guide and List
  • C++ Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
  • Learn C++. (PDF, Online)

Clojure

  • A Brief Beginner’s Guide To Clojure
  • Clojure - Functional Programming for the JVM
  • Clojure Cookbook
  • Clojure for the Brave and True
  • Clojure Programming
  • The Clojure Style Guide
  • Data Sorcery with Clojure
  • Modern cljs
  • Clojure Koans

CoffeeScript

  • Smooth CoffeeScript
  • The Little Book on CoffeeScript

ColdFusion

  • CFML In 100 Minutes
  • Learn CF in a Week

D

  • Programming in D

Dart

  • What is Dart?

DTrace

  • IllumOS Dynamic Tracing Guide

DB2

  • Getting started with DB2 Express-C (PDF)
  • Getting started with IBM Data Studio for DB2 (PDF)
  • Getting started with IBM DB2 development (PDF)

Delphi / Pascal

  • Essential Pascal Version 1 and 2

Elasticsearch

  • Exploring Elasticsearch

Emacs

  • GNU Emacs Manual, 17th Edition, v. 24.2
  • An Introduction to Programming in Emacs Lisp, 3rd Edition
  • GNU Emacs Lisp Reference Manual

Erlang

  • Learn You Some Erlang For Great Good

Flex

  • Getting started with Adobe Flex (PDF)
  • Adobe Flex 2, Programming Actionscript 3.0 (PDF)

F Sharp

  • F Sharp Programming in Wikibooks
  • Real World Functional Programming (MSDN Chapters)
  • Programming Language Concepts for Software Developers (PDF)
  • F# Succinctly, SyncFusion (PDF, Kindle) (Just fill the fields with any values)

Forth

  • Starting Forth
  • Thinking Forth
  • Programming Forth (PDF)
  • A Beginner's Guide to Forth
  • And so Forth... (PDF)
  • Thoughtful Programming and Forth

Git

  • Pro Git
  • Gitmagic
  • Git From The Bottom Up (PDF)
  • Git internals (PDF)
  • Git Magic
  • Git Reference
  • Version Control by Example (Mercurial, Subversion, Verasity)
  • Git Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
  • Think Like (a) Git: A Guide for the Perplexed

Go

  • The Go Tutorial
  • Go by Example
  • Learning Go
  • An Introduction to Programming in Go
  • Network programming with Go

Grails

  • Getting Started with Grails

Hadoop

  • Hadoop Illuminated - Mark Kerzner & Sujee Maniyam
  • Programming Pig - Alan Gates

Haskell

  • A Haskell School of Music (PDF) (work in progress)
  • Beautiful Code, Compelling Evidence (PDF)
  • Haskell and Yesod
  • Learn You a Haskell
  • Natural Language Processing for the Working Programmer
  • Parallel and Concurrent Programming in Haskell
  • Real World Haskell
  • Wikibook Haskell
  • Yet Another Haskell Tutorial (PDF)
  • Haskell no panic
  • A Gentle Introduction to Haskell
  • Speeding Through Haskell
  • Learn Haskell Fast and Hard
  • Haskell web Programming (Yesod tutorial)

HTML / CSS

  • Dive Into HTML5 (PDF)
  • GA Dash
  • HTML Dog Tutorials
  • HTML5 Canvas - Steve Fulton & Jeff Fulton
  • HTML5 for Publishers - Sanders Kleinfeld
  • Learn CSS Layout

Icon

  • The Implementation of the Icon Programming Language

IDL

  • Getting Started with IDL
  • Guide to Using IDL for Astronomers

iOS

  • iOS Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)

J

  • Learning J by Roger Stokes- online || pdf
  • J for C Programmers by Henry Rich- online || pdf || word 2003 file
  • J Reference Card (PDF)
  • Brief Reference by Chris Burke and Clifford Reiter (PDF)
  • Computers and Mathematical Notation by Kenneth E Iverson
  • Easy J by Linda Alvord, Norman Thomson - pdf || Word DOC
  • Math for the Layman by Kenneth E Iverson (zipped html+images)
  • Exploring Math by Kenneth E Iverson (PDF)
  • Arithmetic by Kenneth E Iverson (PDF)
  • Calculus by Kenneth E Iverson (PDF)
  • Concrete Math Companion by Kenneth E Iverson (PDF)
  • J Primer

Java

  • Artificial Intelligence - Foundation of Computational Agents
  • Data Structures and Algorithms with Object-Oriented Design Patterns in Java
  • Category wise tutorials - J2EE
  • Think Java: How to Think Like a Computer Scientist - Allen B. Downey
  • Introduction to Programming Using Java - David J. Eck
  • Java Application Development on Linux by Carl Albing and Michael Schwarz (PDF) (PDF)
  • The Java EE6 Tutorial (PDF)
  • Java Thin-Client Programming
  • Learning Java - Patrick Niemeyer
  • OSGi in Practice (PDF)
  • Sun's Java Tutorials
  • Thinking in Java

Wicket

  • Official Free Online Guide for Apache Wicket framework

JavaScript

  • Crockford's JavaScript - Douglas Crockford
  • Eloquent JavaScript - Marijn Haverbeke
  • Learning JavaScript Design Patterns - Addy Osmani
  • JavaScript Bible (PDF)
  • JavaScript Essentials
  • jQuery Fundamentals (starts with JavaScript basics)
  • Mozilla Developer Network's JavaScript Guide
  • JavaScript Allongé
  • O'Reilly Programming JavaScript Applications - Early Release
  • The JavaScript Tutorial
  • AngularJS in 60 Minutes (PDF)
  • Javascript Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
  • Dev Docs
  • Managing Space and Time with JavaScript - Book 1: The Basics - Noel Rappin

Backbone.js

  • Developing Backbone.js Applications
  • A Complete guide for learning Backbone.js
  • Backbonejs Tutorials

D3.js

  • Interactive Data Visualization for the Web
  • D3 Tips and Tricks

jQuery

  • jQuery Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)

Knockout.js

  • Knockout.js Succinctly (PDF, Kindle) (Just fill the fields with any values)

Node.js

  • Mastering Node.js
  • Mixu's Node Book
  • The Node Beginner Book
  • Up and Running with Node

LaTeX

  • The Not So Short Introduction to LaTeX (PDF)
  • LaTeX Wikibook

See also TeX

Linux

  • Advanced Linux Programming
  • Getting Started with Ubuntu
  • GNU Autoconf, Automake and Libtool
  • GTK+/Gnome Application Development
  • The Debian Administrator's Handbook
  • The Linux Command Line (PDF)
  • The Linux Development Platform (PDF) (PDF)
  • Linux Device Drivers by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
  • Linux Kernel in a Nutshell
  • The Linux Kernel Module Programming Guide
  • Secure Programming for Linux and Unix
  • Linux from Scratch
  • Ubuntu Pocket Guide and Reference
  • What Every Programmer Should Know About Memory (PDF)

Lisp

  • Common Lisp the Language, 2nd Edition
  • Common Lisp: A Gentle Introduction to Symbolic Computation - David S. Touretzky
  • Common Lisp Quick Reference
  • Let Over Lambda - 50 Years of Lisp
  • Natural Language Processing in Lisp
  • On Lisp
  • Practical Common Lisp
  • Successful Lisp: How to Understand and Use Common Lisp - David Lamkins
  • Sketchy LISP - Nils Holm
  • Lisp Koans

Lua

  • Programming In Lua (for version 5)
  • Programming Gems
  • Lua 5.1 Reference Manual

Mathematica

  • Mathematica® programming: an advanced introduction by Leonid Shifrin
  • Stephen Wolfram's The Mathematica Book
  • Wolfram Mathematica Tutorial Collection

Maven

  • Better Builds with Maven
  • Maven by Example
  • Maven: The Complete Reference
  • Repository Management with Nexus
  • Developing with Eclipse and Maven

Mercurial

  • Mercurial: The Definitive Guide
  • HGInit - Mercurial Tutorial by Joel Spolsky

.NET (C# / VB / Nemerle / Visual Studio)

  • C# Essentials
  • C# Programming - Wikibook
  • C# Yellow Book (intro to programming)
  • Charles Petzold's .NET Book Zero
  • Data Structures and Algorithms with Object-Oriented Design Patterns in C#
  • Entity Framework
  • Moving to Microsoft Visual Studio 2010
  • Nemerle (PDF)
  • Threading in C#
  • Visual Basic Essentials
  • Visual Studio Tips and Tricks (VS 2003-2005 only)
  • Under the Hood of .NET Memory Management (PDF) (RedGate, By Chris Farrell and Nick Harrison)
  • Practical Performance Profiling: Improving the efficiency of .NET code (RedGate, By Jean-Philippe Gouigoux)
  • .NET Performance Testing and Optimization - The Complete Guide (RedGate, By Paul Glavich and Chris Farrell)

NoSQL

  • CouchDB: The Definitive Guide
  • The Little MongoDB Book
  • The Little Redis Book
  • The Little Riak Book
  • Graph Databases
  • MongoDB Koans

Oberon

  • Programming in Oberon (PDF)
  • Object-Oriented Programming in Oberon-2 (PDF)

Objective-C

  • Programming With Objective-C (PDF)
  • Object-Oriented Programming with Objective-C (PDF)
  • Objective-C Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)

OCaml

  • Introduction to Objective Caml (PDF)
  • Objective Caml for Scientists (first chapter only)
  • Unix System Programming in OCaml
  • Developing Applications With Objective Caml
  • Real World OCaml
  • Think OCaml - Allen B. Downey and Nicholas Monje

Octave

  • Octave Programming

OpenSCAD

  • OpenSCAD User Manual

Oracle Server

  • 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

  • Beginning Perl
  • Embedding Perl in HTML with Mason
  • Essential Perl (PDF)
  • Extreme Perl
  • Higher-Order Perl
  • The Mason Book
  • Modern Perl 5
  • Perl & LWP
  • Perl for the Web
  • Perl Free Online EBooks (meta-list)
  • Learning Perl The Hard Way
  • Practical mod_perl
  • Web Client Programming with Perl
  • Plack Handbook

PHP

  • PHP Essentials
  • PHP: The Right Way
  • Practical PHP Programming (wiki containing O'Reilly's PHP In a Nutshell)
  • Symfony2
  • Zend Framework: Survive the Deep End
  • Laravel Framework
    • Official Documentation (Offline Version)
  • Drupal Framework
    • Drupal 6
    • Drupal 7
      • The Tiny Book of Rules (PDF)
      • Master Drupal in 7 hours (PDF)
    • Drupal 8
  • PHP Internals Book

PowerShell

  • Mastering PowerShell

Processing

  • The Nature of Code: Simulating Natural Systems with Processing

Prolog

  • Adventure in Prolog
  • Applications of Prolog
  • Building Expert Systems in Prolog
  • Introduction to Prolog for Mathematicians
  • Learn Prolog Now!
  • Logic, Programming and Prolog (2ed)
  • Natural Language Processing Techniques in Prolog
  • Prolog Techniques
  • Simply Logical
  • Visual Prolog 7.2 for Tyros (PDF)

PostgreSQL

  • Practical PostgreSQL

Python

  • Byte of Python
  • Data Structures and Algorithms in Python
  • Dive into Python
  • Dive into Python 3
  • Google's Python Class
  • Hacking Secret Cyphers with Python - Al Sweigart
  • Hitchiker's Guide to Python!
  • How to Think Like a Computer Scientist: Learning with Python
    • How to Think Like a Computer Scientist: Learning with Python, Interactive Edition
  • Introduction to Programming Using Python - Cody Jackson
  • Invent Your Own Computer Games With Python - Al Sweigart
  • Learn Python The Hard Way
  • Lectures on scientific computing with python - J.R. Johansson
  • Making Games with Python & Pygame - Al Sweigart
  • Natural Language Processing with Python
  • Porting to Python 3: An In-Depth Guide
  • Python Bibliotheca
  • Python Cookbook - David Beazley
  • Python for Fun
  • Python for Informatics: Exploring Information
  • Python for you and me
  • Python Practice Book
  • Python Programming - PDF
  • Python Scientific Lecture Notes
  • Snake Wrangling For Kids
  • The Art and Craft of Programming
  • The Programming Historian - William J. Turkel, Adam Crymble and Alan MacEachern
  • Think Python - Allen B. Downey
  • Problem Solving with Algorithms and Data Structures
  • Python Module of the Week
  • Wikibooks: Python Programming
  • Python Koans

Django

  • Djen of Django
  • Django by Example
  • Django by Example for Django 1.5
  • Tango With Django
  • Deploy Django

Flask

  • The Flask Mega-Tutorial

R

  • The R Inferno (PDF)
  • The R Manuals
  • The R Language
  • R by example
  • Introduction to Probability and Statistics Using R (PDF)
  • Advanced R Programming
  • R practicals (PDF)
  • R for spatial analysis (PDF)
  • Learning Statistics with R
  • R language for Programmers

Racket

  • Programming Languages: Application and Interpretation
  • The Racket Guide

Ruby

  • The Bastards Book of Ruby
  • Learn Ruby the hard way
  • MacRuby: The Definitive Guide
  • Mr. Neighborly's Humble Little Ruby Book
  • Programming Ruby
  • Why's (Poignant) Guide to Ruby (mirror)
  • Ruby Hacking Guide
  • Ruby Best Practices (PDF)
  • RubyMonk - Interactive Ruby tutorials
  • A community-driven Ruby style guide
  • CodeCademy Ruby
  • How To Think Like a Computer Scientist: Learning With Ruby
  • Ruby in Twenty Minutes
  • Ruby Essentials
  • Ruby User's Guide
  • Ruby Programming
  • Ruby Learning
  • Try Ruby
  • Ruby Koans
  • Ruby User's Guide
  • The Little Book Of Ruby
  • Mr. Neighborly's Humble Little Ruby Book

Ruby on Rails

  • Ruby on Rails Tutorial: Learn Rails By Example
  • Objects on Rails
  • Ruby on Rails Guides
  • A community-driven Rails style guide
  • Upgrading to Rails 4

Rust

  • Rust for Rubyists

Sage

  • The Sage Manuals
  • Sage for Newbies
  • Sage for Power Users (PDF)

Scala

  • Another tour of Scala
  • Effective Scala
  • Exploring Lift (published earlier as "The Definitive Guide to Lift", PDF)
  • Lift
  • Pro Scala: Monadic Design Patterns for the Web
  • Programming in Scala, First Edition
  • Programming Scala
  • Scala By Example (PDF)
  • Scala School by Twitter
  • A Scala Tutorial for Java programmers (PDF)
  • Xtrace

Scheme

  • Concrete Abstractions: An Introduction to Computer Science Using Scheme
  • The Scheme Programming Language Edition 3, Edition 4
  • Simply Scheme: Introducing Computer Science
  • Teach Yourself Scheme in Fixnum Days

Scilab

  • Introduction to Scilab
  • Programming in Scilab
  • Writing Scilab Extensions

Scratch

  • Computer Science Concepts in Scratch

Sed

  • Sed - An Introduction and Tutorial

Smalltalk

  • Computer Programming using GNU Smalltalk (PDF)
  • Dynamic Web Development with Seaside
  • Free Online Smalltalk Books (meta-list)
  • Pharo by Example (Smalltalk DE)
  • Squeak By Example (Smalltalk IDE)

Subversion

  • Subversion Version Control (PDF)
  • Version Control with Subversion

SQL (implementation agnostic)

  • Developing Time-Oriented Database Applications in SQL
  • Use The Index, Luke!: A Guide To SQL Database Performance
  • Learn SQL The Hard Way

SQL Server

  • Introducing Microsoft SQL Server 2008 R2
  • Introducing Microsoft SQL Server 2012
  • SQL Server 2012 Tutorials: Reporting Services
  • SQL Server Execution Plans (PDF) (RedGate, By Grant Fritchey)
  • Defensive Database Programming (PDF) (RedGate, By Alex Kuznetsov)
  • SQL Server Execution Plans, Second Edition (PDF) (RedGate, By Grant Fritchey)
  • Inside the SQL Server Query Optimizer (RedGate, By Benjamin Nevarez)
  • SQL Server Transaction Log Management (RedGate, By Tony Davis and Gail Shaw)
  • The Art of SQL Server FILESTREAM (RedGate, By Jacob Sebastian and Sven Aelterman)
  • SQL Server Concurrency: Locking, Blocking and Row Versioning (RedGate, By Kalen Delaney)
  • SQL Server Backup and Restore (RedGate, By Shawn McGehee)
  • Troubleshooting SQL Server: A Guide for the Accidental DBA (RedGate, By Jonathan Kehayias and Ted Krueger)
  • SQL Server Hardware (RedGate, By Glenn Berry)
  • SQL Server Statistics (RedGate, By Holger Schmeling)
  • Performance Tuning with SQL Server Dynamic Management Views (RedGate, By Tim Ford and Louis Davidson)
  • Brad's Sure Guide to SQL Server Maintenance Plans (RedGate, By Brad McGehee)
  • Best of SQLServerCentral.com Vol 7 (RedGate, By SQLServerCentral Authors)
  • Protecting SQL Server Data (RedGate, By John Magnabosco)
  • SQL Server Tacklebox (RedGate, By Rodney Landrum)
  • How to Become an Exceptional DBA (RedGate, By Brad McGehee)
  • SQL Server Stumpers Vol.5 (RedGate, By SQLServerCentral Authors)
  • Mastering SQL Server Profiler (RedGate, By Brad McGehee)

Teradata

  • Teradata Books

TeX

  • TeX for the Impatient, by Paul Abrahams, Kathryn Hargreaves, and Karl Berry
  • Notes On Programming in TeX (PDF) by Christian Feursänger
  • TeX by Topic, A TeXnician's Reference, by Victor Eijkhout
  • The Computer Science of TeX and LaTeX, by Victor Eijkhout

See also LaTeX

Theory

  • Networks, Crowds, and Markets: Reasoning About a Highly Connected World
  • Homotopy Type Theory: Univalent Foundations of Mathematics (PDF)

TypeScript

  • TypeScript Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)

Vim

  • A Byte of Vim
  • Vim Recipes (PDF)
  • Vi Improved -- Vim (PDF) by Steve Oualline
  • Learn Vimscript the Hard Way
  • Learn Vim Progressively

Websphere

  • Getting started with WebSphere (PDF)

Windows Phone

  • Programming Windows Phone 7

你可能感兴趣的:(Free Programming Books)