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

 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 允許免費在線閱讀

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