Programming books

来源:互联网 发布:mac系统字体设置 编辑:程序博客网 时间:2024/05/21 11:15

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

  • link 25 Free Computer Science Ebooks
  • link Cheat Sheets (Free)
  • link Free Tech Books
  • link Microsoft Press: Free E-Books
  • link MindView Inc
  • link O'Reilly's Open Books Project
  • link TechBooksForFree.com
  • link Theassayer.org
  • link Wikibooks: Programming

Graphics Programming

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

Language Agnostic

Algorithms & Datastructures

  • link Algorithms and Data-Structures (PDF)
  • link Algorithms (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

  • link Introduction to Information Retrieval

Datamining

  • link Mining of Massive Datasets

Mathematics

  • Think Bayes: Bayesian Statistics Made Simple - Allen B. Downey
  • link Think 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 Interfaces by Jennifer Tidwell
  • Digital Signal Processing For Engineers and Scientists
  • Distributed systems for fun and profit
  • Don't Just Roll the Dice
  • Essentials of Metaheuristics by 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

  • link Online 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

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

C / C++

  • Beej's Guide to Network Programming
  • Beej's Guide to C Programming
  • link The 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

  • link Clojure Programming
  • link Clojure - Functional Programming for the JVM
  • link Data Sorcery with Clojure

CoffeeScript

  • link Smooth CoffeeScript
  • link The Little Book on CoffeeScript

ColdFusion

  • link CFML 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

  • link Essential Pascal Version 1 and 2

Django

  • link Djen of Django
  • link Django by Example

Elasticsearch

  • link Exploring Elasticsearch

Emacs

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

Erlang

  • link Learn You Some Erlang For Great Good

Flask

  • link The Flask Mega-Tutorial

Flex

  • link Getting started with Adobe Flex (PDF)

F Sharp

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

Forth

  • link Starting Forth
  • link Thinking Forth

Git

  • link Pro Git
  • link Git From The Bottom Up (PDF)
  • link Git internals

Go

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

Grails

  • link Getting Started with Grails

Hadoop

  • link Programming Pig - Alan Gates

Haskell

  • Haskell and Yesod
  • link Learn You a Haskell
  • Natural Language Processing for the Working Programmer
  • link Parallel and Concurrent Programming in Haskell
  • link Real World Haskell
  • link Wikibook Haskell
  • link Yet Another Haskell Tutorial (PDF)

HTML / CSS

  • link Dive Into HTML5 (PDF)
  • link GA Dash
  • link HTML Dog Tutorials
  • link HTML5 Canvas - Steve Fulton & Jeff Fulton
  • link HTML5 for Publishers - Sanders Kleinfeld
  • link Learn 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
  • link Introduction 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
  • link JavaScript Allongé
  • link Learning 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 Drivers by 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'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

  • link Beginning Perl
  • Embedding Perl in HTML with Mason
  • Essential Perl
  • Extreme Perl
  • link Higher-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
  • link Web Client Programming with Perl

PHP

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

PowerShell

  • link Mastering PowerShell

Processing

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

PostgreSQL

  • link Practical PostgreSQL

Python

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

R

  • link The R Manuals
  • link The R Language
  • link R by example

Racket

  • Programming Languages: Application and Interpretation

Ruby

  • The Bastards Book of Ruby
  • link Learn Ruby the hard way
  • link MacRuby: The Definitive Guide
  • link Mr. Neighborly's Humble Little Ruby Book
  • link Programming Ruby
  • link Why's (Poignant) Guide to Ruby (mirror)

Ruby on Rails

  • link Ruby on Rails Tutorial: Learn Rails By Example
  • link Objects on Rails

Rust

  • link Rust for Rubyists

Sage

  • link The Sage Manuals
  • link Sage for Newbies

Scala

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

Scheme

  • link Concrete Abstractions: An Introduction to Computer Science Using Scheme
  • The Scheme Programming Language link Edition 3 , link Edition 4
  • link Simply Scheme: Introducing Computer Science

Sed

  • link Sed - An Introduction and Tutorial

Smalltalk

  • link Dynamic Web Development with Seaside
  • link Free Online Smalltalk Books (meta-list)
  • link Squeak By Example (Smalltalk IDE)

Subversion

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

SQL (implementation agnostic)

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

Teradata

  • Teradata Books

Vim

  • link A Byte of Vim
  • link Vim Recipes
  • link Vi Improved -- Vim by Steve Oualline
  • link Learn Vimscript the Hard Way

Websphere

  • Getting started with WebSphere (PDF)

Windows Phone

  • Programming Windows Phone 7
原创粉丝点击