您的位置:首页 > 职场人生

国外程序员推荐的免费编程书籍资源

2011-12-21 11:01 573 查看
 StackOverflow 上有位网友(xenoterracide)提问:

  我正试着搜集整理一个可在网上免费阅读的计算机编程书籍列表。这些书可以是某种特定编程语言,也可以计算机方面通用书籍。网上有哪些免费可用的书籍呢?

  下面是一些网友在回复中的推荐资源,其中有视频、大学课程、编程语言教程网站,由伯乐在线整理编译。

  一、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 允许免费在线阅读

转载:http://news.cnblogs.com/n/120561/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: