[zz]國外程序員推薦的免費編程書籍資源

StackOverflow 上有位網友(xenoterracide)提問:

我正試着蒐集整理一個可在網上免費閱讀的計算機編程書籍列表。這些書可以是某種特定編程語言,也可以計算機方面通用書籍。網上有哪些免費可用的書籍呢?

下面是一些網友在回覆中的推薦資源,其中有視頻、大學課程、編程語言教程網站,由伯樂在線【jobbole.com】整理編譯。

 


一、George Stocker 提供了一大串,分類如下:

Meta-Lists

How to Design Programs: An Introduction to Computing and Programming

25 Free Computer Science Ebooks

Free Tech Books

MindView Inc

Wikibooks: Programming

Cheat Sheets (Free)

CodePlex List of Free E-Books

Book Training – On Video!

Sofware Program Managers Network – Free EBooks

EBook Share @ linbai.info

FreeBooksClub.Net

Theassayer.org

O’Reilly’s Open Books Project

TechBooksForFree.com

Galileo Computing (德語)

Microsoft Press: Free E-Books

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 (由唐納德·克努斯授課)

The Cathedral and the Bazaar

Patterns and Practices: Application Architecture Guide 2.0

Security Engineering

Digital Signal Processing For Engineers and Scientists

Getting Real

Structure and Interpretation of Computer Programs

Domain Driven Design Quickly

OO Design

Best Kept Secrets of Peer Code Review

NASA Software Measurement Handbook

NASA Manager Handbook for Software Development (PDF)

Introduction to Functional Programming (經典課程)

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 《UNIX編程藝術

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

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(這本書有中文版《程序員應該知道的97件事》)

How Computers Work

Introduction to Information Retrieval

Is Parallel Programming Hard, And, If So, What Can You Do About It?

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)

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++編程思想》)

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#

請參見下面 .NET 方面的

Clojure

Clojure Programming

ColdFusion

CFML In 100 Minutes

DB2

Getting started with IBM Data Studio for DB2 (PDF)

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

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 (《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

Latex

The Not So Short Introduction to LATEX (perfect for beginners 特別適合初學者)

Linux

Advanced Linux Programming

Lisp

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 (不完全免費,但有很多免費的章節及代碼)

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

Nemerle

See .NET below

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

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#

Illustrated C# 2008 (.zip, dead link)

O’Reilly’s C# Pocket Reference Manual (dead link)

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

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

Practical PHP Programming (wiki containing O’Reilly’s PHP In a Nutshell)

Zend Framework: Survive the Deep End

PowerShell

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

Dive Into Python

Dive Into Python 3

Byte of Python

Building Skills in Python Version 2.5

Python Free Online Ebooks (meta-list)

Python Bibliotheca

Think Python (PDF)

Data Structures and Algorithms in 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)

List (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 (implementation agnostic)

Developing Time-Oriented Database Applications in SQL

Use The Index, Luke! (a guide to SQL database performance for developers)

Teradata

Teradata Books

Vim

A Byte of Vim

Vim Recipes

交互式教程網站:http://t.cn/aep0mV

很全的Vim速查卡:http://t.cn/aBPFPk

Websphere

Getting started with WebSphere (PDF)

二、 TG 推薦了麻省理工學院的一門課程

Structure and Interpretation of computer programs / 計算機程序員結構和解析》,這門課程視頻地址是:http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/

三、 Gatekiller 推薦的資源如下:

How to Design Programs

Graphics Programing Black Book

Real World Haskell

Let Over Lambda

Starting Forth

List of Free Online Python Books

List of Free Online Perl Books

Squeak by Example

C# Essentials

List of Free Online Smalltalk Books

Successful Lisp

Introduction to Functional Programming

四、ani625推薦了一些Linux相關書籍

The Art of Unix Programming

Advanced Linux Programming by CodeSourcery LLC

Java Application Development on Linux by Carl Albing and Michael Schwarz(PDF)

Advanced Linux Programming

Secure Programming for Linux and Unix

The Linux Development Platform

Secure Programming for Linux and Unix HOWTO

C++ GUI Programming With Qt 3

Linux Kernel Module Programming Guide by Ori Pomerantz

KDE 2.0 Development

GTK+/Gnome Application Development

GNU Autoconf, Automake and Libtool

The Linux Kernel Module Programming Guide

PHP Essentials

JavaScript Essentials

Visual Basic Essentials

上面這4個推薦,是得票數最高的前4位。下面這些得票數不太高的,從中挑選了一些。

The Django Book, GNU Free Document License

Mercurial (Hg) book by Bryan O’Sullivan. (Mercurial 是一個分佈式版本控制軟件)

37 Signals’ 公司的 “Getting Real” 也提供免費在線閱讀。

Clever Algorithms: Nature-Inspired Programming Recipes 》描述了人工智能領域中的 45個算法。所以這些算法的描述都連貫並完整,確保廣大受衆可以理解。 這本書也有免費的PDF版,也可以在線免費閱讀

麻省理工學院關於計算機科學的開源課程:http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/index.htm

《Practical Common Lisp(實用Common Lisp 編程)》Sergio Acosta 強烈推薦的,特別適合對Lisp感興趣的初學者,雖然這本書的紙質版並不免費,但作者Peter Seibel 允許免費在線閱讀


zz from joe's blog: http://blog.sina.com.cn/s/blog_63c579d00100yxvi.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章