大把免费编程书籍
来源:互联网 发布:2178手游充值库存软件 编辑:程序博客网 时间:2024/06/10 19:04
http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books
I'm trying to amass a list of programming books that are freely available on the Internet. The books can be about a particular programming language or about computers in general.
What are some freely available programming books on the Internet?
locked by Bill the Lizard♦ Aug 15 at 14:56
This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: FAQ.
113 Answers
Meta-Lists
- 25 Free Computer Science Ebooks
- Book Training - On Video
- Cheat Sheets (Free)
- CodePlex List of Free E-Books
- Free Tech Books
- Galileo Computing (German)
- How to Design Programs: An Introduction to Computing and Programming
- Microsoft Press: Free E-Books
- MindView Inc
- O'Reilly's Open Books Project
- Sofware Program Managers Network
- TechBooksForFree.com
- Theassayer.org
- Wikibooks: Programming
Graphics Programming
- DirectX manual (draft)
- Learning Modern 3D Graphics Programming (draft)
- GPU Gems
- GPU Gems 2 - ch 8,14,18,29,30 as pdf
- GPU Gems 3
- Graphics Programming Black Book
- ShaderX series
Language Agnostic
- 97 Things Every Programmer Should Know
- 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
- 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
- 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)
Android
- Building Android Apps with HTML, CSS, and JavaScript
- Learning Android
Autotools
- GNU Autoconf, Automake and Libtool
ASP.NET MVC
- NerdDinner Walkthrough
Assembly Language
- Programming from the Ground Up (PDF)
- Paul Carter's Tutorial on x86 Assembly
- Software optimization resources by Agner Fog
Bash
- Advanced Bash-Scripting Guide
- Bash Guide for Beginners by Machtelt Garrels
- Lhunath's Bash Guide
- The Command Line Crash Course (also a Powershell reference)
C / C++
- Beej's Guide to Network Programming
- Beej's Guide to C Programming
- The C book
- C++ Annotations
- C++ GUI Programming With Qt 3
- CS106X Programming Abstractions in C++
- Essential C
- Introduction to Design Patterns in C++ with Qt 4 (PDF)
- 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
C#
- See .NET below
Clojure
- Clojure Programming
- Clojure - Functional Programming for the JVM
CoffeeScript
- Smooth CoffeeScript
- The Little Book on CoffeeScript
ColdFusion
- CFML In 100 Minutes
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
- Essential Pascal Version 1 and 2
- The Tomes of Delphi
Django
- Djangobook.com
Emacs
- GNU Emacs Manual, 16th Edition, v. 22
- An Introduction to Programming in Emacs Lisp, 3rd Edition
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
- Real World Functional Programming (MSDN Chapters)
Forth
- Starting Forth
- Thinking Forth
Git
- Pro Git
- The Git Community Book
- Git From The Bottom Up (PDF)
Go
- The Go Tutorial
Grails
- Getting Start with Grails
Haskell
- Learn You a Haskell
- Real World Haskell
HTML / CSS
- Dive Into HTML5
- HTML Dog Tutorials
Java
- Java Application Development on Linux by Carl Albing and Michael Schwarz(PDF)
- How to Think Like a Computer Scientist
- The Java EE6 Tutorial (PDF)
- Java Thin-Client Programming
- Sun's Java Tutorials
- Thinking in Java
- OSGi in Practice (PDF)
- Category wise tutorials - J2EE
- Introduction to Programming Using Java - David J. Eck
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
JavaScript (Node.js specific)
- Up and Running with Node
- The Node Beginner Book
- Mastering Node.js
- Mixu's Node Book
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
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
Nemerle
- See .NET below
.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
Oberon
- Programming in Oberon (PDF)
Objective-C
- The Objective-C Programming Language
- 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
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
- Beginning Perl
- Embedding Perl in HTML with Mason
- Essential Perl
- Extreme Perl
- 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
- Web Client Programming with Perl
PHP
- PHP Essentials
- Practical PHP Programming (wiki containing O'Reilly's PHP In a Nutshell)
- Symfony2
- Zend Framework: Survive the Deep End
PowerShell
- Mastering PowerShell
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
- Practical PostgreSQL
Python
- Building Skills in Python Version 2.5
- Byte of Python
- Data Structures and Algorithms in Python
- Dive into Python
- Dive into Python 3
- The Django Book
- How to Think Like a Computer Scientist: Learning with Python
- Invent Your Own Computer Games With Python
- Learn Python The Hard Way
- Natural Language Processing with Python
- Python Bibliotheca
- Python for Fun
- Snake Wrangling For Kids
- Think Python (PDF)
- Thinking in Python
R
- The R Manuals
- The R Language
- R by example
- Computational Statistics, Jeremy Penzer
Ruby
- Learn Ruby the hard way
- MacRuby: The Definitive Guide
- Mr. Neighborly's Humble Little Ruby Book
- Programming Ruby
- Ruby Best Practices
- Why's (Poignant) Guide to Ruby (mirror)
Ruby on Rails
- Ruby on Rails Tutorial: Learn Rails By Example
Scala
- Exploring Lift (published earlier as "The Definitive Guide to Lift", PDF)
- Lift
- Pro Scala: Monadic Design Patterns for the Web
- Programming in Scala, First Edition
- Programming Scala
- Scala By Example (PDF)
- A Scala Tutorial for Java programmers (PDF)
- Xtrace
Scheme
- Concrete Abstractions: An Introduction to Computer Science Using Scheme
- The Scheme Programming Language Edition 3, Edition 4
- Simply Scheme: Introducing Computer Science
Sed
- Sed - An Introduction and Tutorial
Smalltalk
- Dynamic Web Development with Seaside
- 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
- Learn SQL The Hard Way
Teradata
- Teradata Books
Vim
- A Byte of Vim
- Vim Recipes
- Vi Improved -- Vim by Steve Oualline
Websphere
- Getting started with WebSphere (PDF)
Windows Phone
- Programming Windows Phone 7
Book: Structure and Interpretation of computer programs (Table of contents)
Lectures are here, smaller re-encoded versions from MIT OpenCourseWare are here.
MIT has their open course ware for computer science.
http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/index.htm
It's not an ebook, but every programmer should probably watch it.
MIT's - Structure and Interpretation of Computer Programs, Video Lectures
Also, Berkley have their lectures posted online
It's not a proper book, but one of Wikipedia's spinoffs is Wikibooks, which has quite a lot of books in different stages of development.
Bruce Eckel offers several books including Thinking in Java
Bruce Eckel has free books on several topics here.
Dive Into Python is a nice free Python book. Check out Thinking in Java and Thinking in C++ as well.
Building Skills
- Building Skills in Python
- Building Skills in Programming
- Building Skills in Object-Oriented Design
Some great links for download open source books:
http://www.onlinecomputerbooks.com/free-open-source-books.php
http://www.freebookcentre.net/SpecialCat/Free-Open-Source-Books-Download.html
- Essential JavaScript And jQuery Design Patterns by Addy Osmani.
- Scalable and Modular Architecture for CSS by Jonathan Snook
And sites for free books:
- Tech books for free download
- e-booksdirectory
- techtoolblog - 345 Books
- O´Reilly Open Books
- Galileo Computing (German Open Books)
- Microsoft Press: List of our free books
- List of 30 free programming ebooks
- Hackershelf
http://knowfree.net/
That is an amazing resource, not all of the links work, but about 95% which is still awesome
Bruce Perens' Open Source Series, several books on different Open Source projects.
Collection of Free Programming and Technology Related Books
This post contains the list of sites offering Programming, Information Technology and Computer books which are provided by Publishers and Authors legally and free.
AddedBytes.com has a pretty useful collection of Cheat Sheets.
Here is the list of free books from IBM:
- Database Fundamentals
- Getting started with Adobe Flex
- Getting started with DB2 Express-C
- Getting started with DB2 application development
- Getting started with IBM Data Studio for DB2
- Getting started with open source development
- Getting started with WebSphere Application Server Community Edition
Take a look at the referenced material here:
http://www.db2university.com/web/resources/index.php
Not to be ignored, some helpful material available on http://code.google.com/edu/ andhttp://www.wikibooks.com/
This document has a very nice overview of the GoF book AKA Design Patterns. (CC licensed)
- Gnu Make Manual
- Gnu GDB Manual
- Gnu GCC Documentaion
Basics of Compiler Design
The Art of Assembly Language Programming
Perl framework:
the mason book: Embedding Perl in HTML with Mason
Open source development essays:
and the bazaar and cathedral book:
GUI Design:
User Interface Design for Programmers by joel
Advanced Perl:
Higher-Order Perl
The NerdDinner tutorial is a great way to start with ASP.NET MVC.
[Update] An even better tutorial is the official ASP.NET MVC Music Store Step-by-Step Tutorial.
- Programming in Emacs Lisp (Second Edition)
- Programming in Lua (first edition)
- How to Design Worlds: Imaginative Programming in DrScheme
- Too Many Smalltalk books to list
Maíra Wenzel's Blog
MSDN Library is now featuring 44 chapters from 13 O’Reilly books on subjects such as C# 3.0, Visual Basic 2008, ADO.NET 3.5, .NET 3.5, the ADO.NET Entity Framework, WCF Services, and ASP.NET 3.5.
And here’s the list of the books that have some of their chapters featured on the library:
ASP.NET:
- Building a Web 2.0 Portal with ASP.NET 3.5: Learn How to Build a State-of-the-Art Ajax Start Page Using ASP.NET, .NET 3.5, LINQ, Windows WF, and More
- Learning ASP.NET 3.5, Second Edition: Build Web Applications with ASP.NET 3.5, AJAX, LINQ, and More
- Programming ASP.NET 3.5, Fourth Edition
Visual Studio 2008:
- C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers
- C# 3.0 Design Patterns: Use the Power of C# 3.0 to Solve Real-World Problems
- C# 3.0 in a Nutshell, Third Edition: A Desktop Quick Reference
- Learning C# 3.0: Master the fundamentals of C# 3.0
- Programming Visual Basic 2008: Build .NET 3.5 Applications with Microsoft's RAD Tool for Business
.NET Development:
- ADO.NET 3.5 Cookbook, Second Edition
- Programming .NET 3.5: Build N-Tier Applications with WPF, AJAX, Silverlight, LINQ, WCF, and More
- Programming Entity Framework: Building Data Centric Apps with the ADO.NET Entity Framework
- Programming WCF Services, Second Edition: Building Service Oriented Applications with Windows Communication Foundation
- RESTful .NET: Build and Consume RESTful Web Services with .NET 3.5
EJB
EJB Design Patterns
Mastering Enterprise Java Beans, 3rd Edition
Enterprise Java Beans
Mastering Enterprise Java Beans
Bitter Java
The J2EE Architect's Handbook
Other Java
Java Testing and Design
Have a look at theassayer.org.
As posted in my thread:
Ballard and Brown's Computer Vision and A Field Guide to Genetic Programming
OpenGL
http://www.glprogramming.com/red/
http://www.glprogramming.com/blue/
http://www.scribd.com/doc/23602872/opengl-es-2-0-programming-guide-opengl
http://http.developer.nvidia.com/GPUGems/gpugems_pref02.html
http://http.developer.nvidia.com/GPUGems2/gpugems2_part01.html
http://http.developer.nvidia.com/GPUGems3/gpugems3_pref01.html
- 大把免费编程书籍
- 免费编程书籍-中文版
- 免费的编程中文书籍
- 195本免费在线编程书籍
- 195本免费在线编程书籍
- 一些免费的编程中文书籍
- 免费的计算机编程类中文书籍
- 免费的编程中文书籍索引
- 免费的计算机编程类中文书籍
- Github 的一个免费编程书籍列表
- 免费的编程中文书籍索引
- 免费的编程中文书籍索引
- 迷渡:免费的编程中文书籍索引
- Github的一个免费编程书籍列表
- 免费的编程中文书籍索引
- 免费的编程中文书籍索引
- 免费的编程中文书籍索引
- 免费的编程中文书籍索引
- hdu4417 Super Mario
- QT 多页面切换之QTabWidget
- 20130827组队赛Regionals 2012, North America - Greater NY
- 使用C/C++扩展Python zz
- 图像二值化算法
- 大把免费编程书籍
- hdu4463 Outlets
- linux 客户端 Socket 非阻塞connect编程
- 技术网址
- 进程上下文、中断上下文、内核代表…
- hdu4461 The Power of Xiangqi
- asterisk-11.5.0 linphone ice
- 亚马逊,一个沉睡广告巨人的苏醒(虎嗅网)
- WPF中的逻辑树与可视树