Programming books

Index

  • Meta-Lists
  • Graphics Programming
  • Language Agnostic
  • Android
  • Autotools
  • ASP.NET MVC
  • Assembly Language
  • Bash
  • C / C++
  • Clojure
  • CoffeeScript
  • ColdFusion
  • D / DTrace
  • DB2
  • Delphi / Pascal
  • Django
  • Elasticsearch
  • Emacs
  • Erlang
  • Flask
  • Flex
  • F#
  • Forth
  • Git
  • Go
  • Grails
  • Hadoop
  • Haskell
  • HTML / CSS
  • Icon
  • Java
  • JavaScript
    • Node.js
    • D3.js
  • LaTeX
  • Linux
  • Lisp
  • Lua
  • Mathematica
  • Maven
  • Mercurial
  • .NET (C# / VB / Nemerle / Visual Studio)
  • NoSQL
  • Oberon
  • Objective-C
  • OCaml
  • Oracle Server
  • Oracle PL/SQL
  • Parrot / Perl 6
  • Perl
  • PHP
  • PowerShell
  • Processing
  • Prolog
  • PostgreSQL
  • Python
  • R
  • Racket
  • Ruby
  • Ruby on Rails
  • Rust
  • Sage
  • Scala
  • Scheme
  • Sed
  • Smalltalk
  • Subversion
  • SQL (implementation agnostic)
  • Teradata
  • Vim
  • Websphere
  • Windows Phone

Meta-Lists

  • link25 Free Computer Science Ebooks
  • linkCheat Sheets (Free)
  • linkFree Tech Books
  • linkMicrosoft Press: Free E-Books
  • linkMindView Inc
  • linkO'Reilly's Open Books Project
  • linkTechBooksForFree.com
  • linkTheassayer.org
  • linkWikibooks: Programming

Graphics Programming

  • linkDirectX manual(draft)
  • linkLearning Modern 3D Graphics Programming(draft)
  • linkIntroduction to Modern OpenGL
  • linkGPU Gems
  • linkGPU Gems 2-ch 8,14,18,29,30 as pdf
  • linkGPU Gems 3
  • Graphics Programming Black Book
  • linkOpenGL Insights(chapters 22, 23, 28, 33, 39)
  • linkShaderX series

Language Agnostic

Algorithms & Datastructures

  • linkAlgorithms and Data-Structures(PDF)
  • linkAlgorithms(draft)
  • Binary Trees
  • 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
  • Linked List Problems
  • Open Data Structures
  • Purely Functional Data Structures

Operating systems

  • The Art of Unix Programming
  • The Little Book of Semaphores- Allen B. Downey
  • Operating Systems and Middleware(PDF and LaTeX)

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

Compiler Design

  • Compiler Construction(PDF)
  • Let's Build a Compiler
  • Linkers and loaders

Programming Paradigms

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

Parallel Programming

  • How to Write Parallel Programs
  • Is Parallel Programming Hard, And, If So, What Can You Do About It?

Software Architecture

  • The Architecture of Open Source Applications
  • Programming Pearls
  • Seamless Object-Oriented Software Architecture
  • Summary of the GoF Design Patterns
  • How to write Unmaintainable Code
  • OO Design
  • 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

Information Retrieval

  • linkIntroduction to Information Retrieval

Datamining

  • linkMining of Massive Datasets

Mathematics

  • Think Bayes: Bayesian Statistics Made Simple- Allen B. Downey
  • linkThink Stats: Probability and Statistics for Programmers(PDF, code written in Python) - Allen B. Downey
  • Mathematical Logic - an Introduction(PDF)

Misc

  • 97 Things Every Programmer Should Know
  • 97 Things Every Programmer Should Know - Extended
  • How to Design Programs
  • How to Think Like a Computer Scientist
  • I Am a Bug
  • Learn to Program
  • Foundations of Computer Science- Al Aho and Jeff Ullman
  • Foundations of Programming
  • Structure and Interpretation of Computer Programs
  • An Introduction to the Theory of Computation
  • Programming Languages: Application and Interpretation
  • Programming Methodology
  • Category Theory for Computing Science
  • The Cathedral and the Bazaar
  • Communicating Sequential Processes (PDF)- 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 Interfacesby Jennifer Tidwell
  • Digital Signal Processing For Engineers and Scientists
  • Distributed systems for fun and profit
  • Don't Just Roll the Dice
  • Essentials of Metaheuristicsby Sean Luke
  • A Field Guide To Genetic Programming
  • Flow based Programming
  • Getting Real
  • Getting started with Open source development(PDF)
  • The Great Tree List Recursion Problem
  • Guide to the Software Engineering Body of Knowledge
  • Matters Computational
  • Modeling Reactive Systems with Statecharts
  • NASA Manager Handbook for Software Development(PDF)
  • NASA Software Measurement Handbook
  • PNG: The Definitive Guide
  • Pointers And Memory
  • Programming Reliable Systems (Joe Armstrong's PhD thesis)
  • Producing Open Source Software
  • Project Oberon(PDF)
  • Security Engineering
  • Small Memory Software
  • The Art of Computer Programming(fascicles, mostly volume 4)
  • Think Complexity- Allen B. Downey
  • Introduction to High-Performance Scientific Computing- Victor Eijkhout

MOOC

  • linkOnline Course Materials

Android

Autotools

  • GNU Autoconf, Automake and Libtool

ASP.NET MVC

  • ASP.NET MVC Music Store
  • NerdDinner Walkthrough

Assembly Language

  • Paul Carter's Tutorial on x86 Assembly
  • Programming from the Ground Up(PDF)
  • Software optimization resources by Agner Fog

Bash

  • linkAdvanced Bash-Scripting Guide
  • linkBash Guide for Beginnersby Machtelt Garrels
  • linkLhunath's Bash Guide
  • linkThe Command Line Crash Course(also a Powershell reference)

C / C++

  • Beej's Guide to Network Programming
  • Beej's Guide to C Programming
  • linkThe C book
  • C++ Annotations
  • C++ GUI Programming With Qt 3
  • CS106X Programming Abstractions in C++
  • Essential C
  • Learn C the hard way
  • Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt
  • The new C standard - an annotated reference
  • Object Oriented Programming in C(PDF)
  • Software optimization resources by Agner Fog
  • Thinking in C++, Second Edition
  • Also see:The Definitive C++ Book Guide and List

Clojure

  • linkClojure Programming
  • linkClojure - Functional Programming for the JVM
  • linkData Sorcery with Clojure

CoffeeScript

  • linkSmooth CoffeeScript
  • linkThe Little Book on CoffeeScript

ColdFusion

  • linkCFML In 100 Minutes

D / 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

  • linkEssential Pascal Version 1 and 2

Django

  • linkDjen of Django
  • linkDjango by Example

Elasticsearch

  • linkExploring Elasticsearch

Emacs

  • linkGNU Emacs Manual, 17th Edition, v. 24.2
  • linkAn Introduction to Programming in Emacs Lisp, 3rd Edition

Erlang

  • linkLearn You Some Erlang For Great Good

Flask

  • linkThe Flask Mega-Tutorial

Flex

  • linkGetting started with Adobe Flex(PDF)

F Sharp

  • The F# Survival Guide
  • F Sharp Programmingin Wikibooks
  • Real World Functional Programming(MSDN Chapters)
  • Programming Language Concepts for Software Developers(PDF)

Forth

  • linkStarting Forth
  • linkThinking Forth

Git

  • linkPro Git
  • linkGit From The Bottom Up(PDF)
  • linkGit internals

Go

  • linkThe Go Tutorial
  • linkGo by Example
  • linkLearning Go
  • linkAn Introduction to Programming in Go
  • linkNetwork programming with Go

Grails

  • linkGetting Started with Grails

Hadoop

  • linkProgramming Pig- Alan Gates

Haskell

  • Haskell and Yesod
  • linkLearn You a Haskell
  • Natural Language Processing for the Working Programmer
  • linkParallel and Concurrent Programming in Haskell
  • linkReal World Haskell
  • linkWikibook Haskell
  • linkYet Another Haskell Tutorial(PDF)

HTML / CSS

  • linkDive Into HTML5(PDF)
  • linkGA Dash
  • linkHTML Dog Tutorials
  • linkHTML5 Canvas- Steve Fulton & Jeff Fulton
  • linkHTML5 for Publishers- Sanders Kleinfeld
  • linkLearn CSS Layout

Icon

  • The Implementation of the Icon Programming Language

Java

  • Artificial Intelligence - Foundation of Computational Agents
  • Category wise tutorials - J2EE
  • How to Think Like a Computer Scientist
  • linkIntroduction to Programming Using Java- David J. Eck
  • Java Application Development on Linux by Carl Albing and Michael Schwarz (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

JavaScript

  • Crockford's JavaScript
  • Eloquent JavaScript
  • Essential Javascript & jQuery Design Patterns for Beginners
  • JavaScript Essentials
  • jQuery Fundamentals(starts with JavaScript basics)
  • Mozilla Developer Network's JavaScript Guide
  • linkJavaScript Allongé
  • linkLearning JavaScript Design Patterns
  • O'Reilly Programming JavaScript Applications - Early Release

Node.js

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

D3.js

  • Interactive Data Visualization for the Web

LaTeX

  • The Not So Short Introduction to LaTeX

Linux

  • Advanced Linux Programming
  • GNU Autoconf, Automake and Libtool
  • GTK+/Gnome Application Development
  • The Linux Development Platform (PDF)
  • Linux Device Driversby Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
  • The Linux Kernel Module Programming Guide
  • Secure Programming for Linux and Unix
  • Linux from Scratch

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

Lua

  • Programming In Lua(for version 5)

Mathematica

  • Mathematica® programming: an advanced introduction by Leonid Shifrin

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
  • Programmer's Heaven C# School Book(covers C# 1.0 and 2.0)
  • Threading in C#
  • Visual Basic Essentials
  • Visual Studio Tips and Tricks(VS 2003-2005 only)

NoSQL

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

Oberon

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

Objective-C

  • Programming With Objective-C
  • Object-Oriented Programming with Objective-C

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

Oracle Server

  • Oracle'sGuides 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

  • linkBeginning Perl
  • Embedding Perl in HTML with Mason
  • Essential Perl
  • Extreme Perl
  • linkHigher-Order Perl
  • The Mason Book
  • Modern Perl 5
  • Perl & LWP
  • Perl for the Web
  • Perl Free Online EBooks(meta-list)
  • Perl The Hard Way
  • Practical mod_perl
  • linkWeb Client Programming with Perl

PHP

  • linkPHP Essentials
  • Practical PHP Programming(wiki containing O'Reilly'sPHP In a Nutshell)
  • linkSymfony2
  • linkZend Framework: Survive the Deep End
  • Laravel Framework
  • Official Documentation (Offline Version)
  • Code Happy(Laravel 3 Starter Book)
  • Code Bright(Laravel 4 Starter Book)

PowerShell

  • linkMastering PowerShell

Processing

  • linkThe 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 in Prolog
  • Natural Language Processing Techniques in Prolog
  • Prolog Programming A First Course
  • Prolog Techniques
  • Simply Logical
  • Visual Prolog 7.2 for Tyros

PostgreSQL

  • linkPractical PostgreSQL

Python

  • Byte of Python
  • linkData Structures and Algorithms in Python
  • Dive into Python
  • linkDive into Python 3
  • Hacking Secret Cyphers with Python- Al Sweigart
  • How to Think Like a Computer Scientist: Learning with Python
  • linkInvent Your Own Computer Games With Python- Al Sweigart
  • linkLearn Python The Hard Way
  • Natural Language Processing with Python
  • Python Bibliotheca
  • Python Cookbook- David Beazley
  • Python for Fun
  • Python for Informatics: Exploring Information
  • linkPython for you and me
  • linkSnake Wrangling For Kids
  • linkThink Python(PDF) - Allen B. Downey

R

  • linkThe R Manuals
  • linkThe R Language
  • linkR by example

Racket

  • Programming Languages: Application and Interpretation

Ruby

  • The Bastards Book of Ruby
  • linkLearn Ruby the hard way
  • linkMacRuby: The Definitive Guide
  • linkMr. Neighborly's Humble Little Ruby Book
  • linkProgramming Ruby
  • linkWhy's (Poignant) Guide to Ruby(mirror)

Ruby on Rails

  • linkRuby on Rails Tutorial: Learn Rails By Example
  • linkObjects on Rails

Rust

  • linkRust for Rubyists

Sage

  • linkThe Sage Manuals
  • linkSage for Newbies

Scala

  • linkAnother tour of Scala
  • linkExploring Lift(published earlier as "The Definitive Guide to Lift",PDF)
  • linkLift
  • linkPro Scala: Monadic Design Patterns for the Web
  • linkProgramming in Scala, First Edition
  • linkProgramming Scala
  • linkScala By Example(PDF)
  • linkScala School by Twitter
  • linkA Scala Tutorial for Java programmers(PDF)
  • linkXtrace

Scheme

  • linkConcrete Abstractions: An Introduction to Computer Science Using Scheme
  • The Scheme Programming LanguagelinkEdition 3,linkEdition 4
  • linkSimply Scheme: Introducing Computer Science

Sed

  • linkSed - An Introduction and Tutorial

Smalltalk

  • linkDynamic Web Development with Seaside
  • linkFree Online Smalltalk Books(meta-list)
  • linkSqueak By Example(Smalltalk IDE)

Subversion

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

SQL (implementation agnostic)

  • linkDeveloping Time-Oriented Database Applications in SQL
  • linkUse The Index, Luke!: A Guide To SQL Database Performance
  • linkLearn SQL The Hard Way

Teradata

  • Teradata Books

Vim

  • linkA Byte of Vim
  • linkVim Recipes
  • linkVi Improved -- Vimby Steve Oualline
  • linkLearn Vimscript the Hard Way

Websphere

  • Getting started with WebSphere(PDF)

Windows Phone

  • Programming Windows Phone 7

你可能感兴趣的:(Programming books)