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

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

2017-03-13 10:21 429 查看
下面是一些推荐资源,其中有视频、大学课程、编程语言教程网站,
一、

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

【更新:2012-5-17
20:24:19】

下面这部分依然来自 StackOverflow,不过是另外一个贴子

· 97 Things Every Programmer Should Know (这本书有中文版《程序员应该知道的97件事》)

· Algorithms and Data-Structures (PDF)

· Algorithms (draft)

· The Architecture of Open Source Applications

· The Art of Unix Programming

· Best Kept Secrets of Peer Code Review

· Binary Trees (PDF)<

· The Cathedral and the Bazaar

· Clever Algorithms

· Communicating Sequential Processes (PDF) – Tony Hoare

· Compiler Construction (PDF)

· Computer Musings (lectures by Donald Knuth)

· Data Structures and Algorithms: Annotated Reference with Examples

· Database Fundamentals (PDF)

· Data-Intensive Text Processing with MapReduce (PDF)

· The Definitive Guide to Building Code Quality

· Designing Interfaces by Jennifer Tidwell

· Digital Signal Processing For Engineers and Scientists

· Domain Driven Design Quickly

· Don’t Just Roll the Dice

· Essentials of Metaheuristics by Sean Luke

· Essential Skills for Agile Development

· A Field Guide To Genetic Programming

· Flow based Programming

· Foundations of Computer Science – Al Aho and Jeff Ullman

· Foundations of Programming

· Getting Real

· Getting started with Open source development (PDF)

· The Great Tree List Recursion Problem

· Guide to the Software Engineering Body of Knowledge

· How Computers Work

· How to Design Programs

· How to Think Like a Computer Scientist

· How to Write Parallel Programs

· How to write Unmaintainable Code

· I Am a Bug

· An Introduction to the Theory of Computation

· Introduction to Functional Programming (class lectures and slides)

· Introduction to Information Retrieval

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

· Learn to Program

· Let’s Build a Compiler

· Linkers and loaders

· Linked List Basics

· Linked List Problems

· Mathematical Logic – an Introduction(PDF)

· Matters Computational

· Mining of Massive Datasets

· NASA Manager Handbook for Software Development (PDF)

· NASA Software Measurement Handbook

· Object-Oriented Reengineering Patterns

· Online Course Materials

· OO Design

· Operating Systems and Middleware (PDF and LaTeX)

· Patterns and Practices: Application Architecture Guide 2.0

· Patterns of Software: Tales from the Software Community (PDF)

· Planning Algorithms

· PNG: The Definitive Guide

· Pointers And Memory

· Producing Open Source Software

· Programming Languages: Application and Interpretation

· Programming Methodology

· Programming Pearls

· Project Oberon (PDF)

· Seamless Object-Oriented Software Architecture(PDF)

· Security Engineering

· Structure and Interpretation of Computer Programs

· Summary of the GoF Design Patterns

· The Little Book of Semaphores

· The TCP/IP Guide

· Think Stats: Probability and Statistics for Programmers (PDF, code written in Python)

· Type Theory and Functional Programming

· Understanding IP Addressing: Everything you ever wanted to know (PDF)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息