Free Programming Ebooks

 

All Programming Ebook are in PDF format. You will need Adobe reader or Foxit to read them.

 

From ProgrammersHeaven

CSharp C#

C Sharp ebook by ProgrammersHeaven

 



 

Other Free Programming ebooks

 

Professional Development

Don't Just Roll the Dice(RedGate, By Neil Davidson)
Confessions of an IT Manager(RedGate, By Phil Factor)

Cryptography

Handbook of Applied Cryptography

Ada

Ada 95: The Craft of Object-Oriented Programming
Ada Distilled
Ada for Software Engineers
The Big Online Book of Linux Ada Programming

Agda

Agda Tutorial

Android

Google Android Developer Training
Coreservlets Android Programming Tutorial
Expert Android and Eclipse development knowledge
Styling Android
TechnoTalkative Android

APL

A Practical Introduction to APL1 & APL2
A Practical Introduction to APL2 & APL3
Mastering Dyalog APL

Autotools

GNU Autoconf, Automake and Libtool
Autotools Mythbuster

ASP.NET MVC

ASP.NET MVC Music Store
NerdDinner Walkthrough

Assembly Language

Paul Carter's Tutorial on x86 Assembly
Professional Assembly Language
Programming from the Ground Up
Software optimization resources by Agner Fog
The Art of Assembly Language Programming
x86 Assembly
Ralf Brown's Interrupt List
Easy 6502 - Nick Morgan

Non-X86

Machine Code for Beginners by Lisa Watts and Mike Wharton [Z80 and 6502 CPUs]
Machine Language for Beginners by Richard Mansfield [6502 CPU]

Bash

Advanced Bash-Scripting Guide
Bash Guide for Beginners by Machtelt Garrels
Lhunath's Bash Guide
The Command Line Crash Course

C

A Tutorial on Pointers and Arrays in C
Beej's Guide to C Programming
Beej's Guide to Network Programming
The C book
Essential C
Learn C the hard way
The new C standard - an annotated reference
Object Oriented Programming in C
C Programming - Wikibooks

C++

C++ Annotations
C++ GUI Programming With Qt 3
CS106X Programming Abstractions in C++
Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt
Software optimization resources by Agner Fog
Thinking in C++, Second Edition, Vol. 1.
(Vol. 2)
How To Think Like a Computer Scientist: C++ Version - Allen B. Downey
C++ Succinctly, Syncfusion
Learn C++.
Software Design Using C++ - Br. David Carlson and Br. Isidore Minerd
Introduction to Design Patterns in C++ with Qt
Data Structures and Algorithms with Object-Oriented Design Patterns in C++

Clojure

A Brief Beginner’s Guide To Clojure
Clojure - Functional Programming for the JVM
Clojure Cookbook
Clojure for the Brave and True
Clojure Programming
The Clojure Style Guide
Data Sorcery with Clojure
Modern cljs
Clojure Koans

COBOL

COBOL Programming Fundamental
OpenCOBOL 1.1 - Programmer's Guide

CoffeeScript

Smooth CoffeeScript
The Little Book on CoffeeScript

ColdFusion

CFML In 100 Minutes
Learn CF in a Week

Coq

Software Foundations
Certified Programming with Dependent Types

D

Programming in D

Dart

What is Dart?

DTrace

IllumOS Dynamic Tracing Guide

DB2

Getting started with DB2 Express-C
Getting started with IBM Data Studio for DB2
Getting started with IBM DB2 development

Delphi / Pascal

Essential Pascal Version 1 and 2

Elasticsearch

Exploring Elasticsearch

Emacs

GNU Emacs Manual, 17th Edition, v. 24.2
An Introduction to Programming in Emacs Lisp, 3rd Edition
GNU Emacs Lisp Reference Manual

Erlang

Learn You Some Erlang For Great Good
Erlang Programming
Programming Erlang
Concurrent Programming in ERLANG

Flex

Getting started with Adobe Flex
Adobe Flex 2, Programming Actionscript 3.0

F Sharp

F Sharp Programming in Wikibooks
Real World Functional Programming (MSDN Chapters)
Programming Language Concepts for Software Developers

F# Succinctly, SyncFusion

Force.com

Force.com Fundamentals
Force.com Workbook
Force.com Integration Workbook
Apex Workbook
Visualforce Workbook
Database.com Workbook
Analytics Workbook
ISVForce Workbook
Cloud Flow Designer Workbook
Security Workbook
Service Cloud Workbook
Site.com Workbook
Heroku Postgres
Apex Design Patterns and Best Practices

Forth

Starting Forth
Thinking Forth
Programming Forth
A Beginner's Guide to Forth
And so Forth...
Thoughtful Programming and Forth

Git

Pro Git
Git From The Bottom Up
Git Immersion
Git internals
Git Magic
Git Reference
Version Control by Example (Mercurial, Subversion, Verasity)
Git Succinctly, Syncfusion
Think Like (a) Git: A Guide for the Perplexed
Git In The Trenches
Conversational Git

Go

The Go Tutorial
Go by Example
Learning Go
An Introduction to Programming in Go
Network programming with Go

Grails

Getting Started with Grails

Hadoop

Hadoop Illuminated - Mark Kerzner & Sujee Maniyam
Programming Pig - Alan Gates

Haskell

A Haskell School of Music
Beautiful Code, Compelling Evidence
Haskell and Yesod
Learn You a Haskell
Natural Language Processing for the Working Programmer
Parallel and Concurrent Programming in Haskell
Real World Haskell
Wikibook Haskell
Yet Another Haskell Tutorial
Haskell no panic
A Gentle Introduction to Haskell
Speeding Through Haskell
Learn Haskell Fast and Hard
Haskell web Programming
The Haskell Road to Logic, Math and Programming

HTML / CSS

Dive Into HTML5
GA Dash
HTML Dog Tutorials
HTML5 Canvas - Steve Fulton & Jeff Fulton
HTML5 for Publishers - Sanders Kleinfeld
HTML5 For Web Designers - Jeremy Keith
Learn CSS Layout

Icon

The Implementation of the Icon Programming Language

IDL

Getting Started with IDL
Guide to Using IDL for Astronomers

iOS

iOS Succinctly, Syncfusion
Start Developing iOS Apps Today

J

Learning J by Roger Stokes- online
|| pdf
J for C Programmers by Henry Rich- online
|| pdf
|| word 2003 file
J Reference Card
Brief Reference by Chris Burke and Clifford Reiter
Computers and Mathematical Notation by Kenneth E Iverson
Easy J by Linda Alvord, Norman Thomson - pdf
|| Word DOC
Math for the Layman by Kenneth E Iverson
Exploring Math by Kenneth E Iverson
Arithmetic by Kenneth E Iverson
Calculus by Kenneth E Iverson
Concrete Math Companion by Kenneth E Iverson
J Primer

Java

Artificial Intelligence - Foundation of Computational Agents
Data Structures and Algorithms with Object-Oriented Design Patterns in Java
Category wise tutorials - J2EE
Think Java: How to Think Like a Computer Scientist - Allen B. Downey
Introduction to Programming Using Java - David J. Eck
Java Application Development on Linux by Carl Albing and Michael Schwarz
The Java EE6 Tutorial
Java Thin-Client Programming
Learning Java - Patrick Niemeyer
OSGi in Practice
Sun's Java Tutorials
Thinking in Java
OOP - Learn Object Oriented Thinking & Programming - Rudolf Pecinovsky
The Java Language Specification - James Gosling, Bill Joy, Guy Steele, Gilad Bracha
The Java Tutorial 4th Edition - Sharon Zakhour, Scott Hommel, Jacob Royal, Isaac Rabinovitch, Tom Risser, Mark Hoeber
Core Servlets and JavaServer Pages
- Marty Hall and Larry Brown
Introduction to Programming Using Java
- David J. Eck
Introduction to Programming in Java - Robert Sedgewick and Kevin Wayne
Introduction to Neural Networks with Java
- Animation/Games in Java
Java for the Beginning Programmer
HTTP Programming Recipes for Java Bots
Tutorial: Java, Maven 2, Eclipse & JSF - Arulkumaran Kumaraswamipillai, Sivayini Arulkumaran

Wicket

Official Free Online Guide for Apache Wicket framework

JavaScript

Crockford's JavaScript - Douglas Crockford
Eloquent JavaScript - Marijn Haverbeke
Learning JavaScript Design Patterns - Addy Osmani
JavaScript Bible

JavaScript Essentials
jQuery Fundamentals (starts with JavaScript basics)
Mozilla Developer Network's JavaScript Guide

JavaScript Allongé
O'Reilly Programming JavaScript Applications - Early Release
The JavaScript Tutorial
Javascript Succinctly, Syncfusion
Dev Docs
Managing Space and Time with JavaScript - Book 1: The Basics - Noel Rappin
Learn to Code JavaScript by Playing a Game

Angular.js

AngularJS in 60 Minutes

Backbone.js

Developing Backbone.js Applications
A Complete guide for learning Backbone.js
Backbonejs Tutorials
A pragmatic guide to Backbone.js apps

D3.js

Interactive Data Visualization for the Web
D3 Tips and Tricks
Dashing D3.js
Interactive Data Visualization with D3

jQuery

jQuery Succinctly, Syncfusion

Knockout.js

Knockout.js Succinctly

Node.js

Mastering Node.js
Mixu's Node Book
The Node Beginner Book
Up and Running with Node

LaTeX

The Not So Short Introduction to LaTeX
LaTeX Wikibook

Linux

Advanced Linux Programming
Getting Started with Ubuntu
GNU Autoconf, Automake and Libtool
GTK+/Gnome Application Development
The Debian Administrator's Handbook
The Linux Command Line
The Linux Development Platform
Linux Device Drivers by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
Linux Kernel in a Nutshell
The Linux Kernel Module Programming Guide
Secure Programming for Linux and Unix
Linux from Scratch
Ubuntu Pocket Guide and Reference
What Every Programmer Should Know About Memory
Learning Debian GNU/Linux

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
Lisp Koans
Casting Spels in Lisp
Structure and Interpretation of Computer Programs

Lua

Programming In Lua (for version 5)
Programming Gems
Lua 5.1 Reference Manual

Mathematica

Mathematica® programming: an advanced introduction by Leonid Shifrin
Stephen Wolfram's The Mathematica Book
Wolfram Mathematica Tutorial Collection
Basics of Algebra, Topology, and Differential Calculus

MATLAB

Interactive Tutorials for MATLAB, Simulink, Signal Processing, Controls, and Computational Mathematics
Numerical Computing with MATLAB
Experiments with MATLAB
MATLAB Programming
Freshman Engineering Problem Solving with MATLAB
An Introduction to MATLAB
MATLAB - A Fundamental Tool for Scientific Computing and Engineering Applications - Volume 1
Applications of MATLAB in Science and Engineering
MATLAB for Engineers: Applications in Control, Electrical Engineering, IT and Robotics
MATLAB - A Ubiquitous Tool for the Practical Engineer

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

MySQL

MySQL Tutorial Excerpt

.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
Threading in C#
Visual Basic Essentials
Visual Studio Tips and Tricks (VS 2003-2005 only)
Under the Hood of .NET Memory Management
(RedGate, By Chris Farrell and Nick Harrison)
Practical Performance Profiling: Improving the efficiency of .NET code (RedGate, By Jean-Philippe Gouigoux)
.NET Performance Testing and Optimization - The Complete Guide(RedGate, By Paul Glavich and Chris Farrell)
HTTP Programming Recipes for C# Bots

NoSQL

CouchDB: The Definitive Guide
The Little MongoDB Book
The Little Redis Book
The Little Riak Book
Graph Databases
MongoDB Koans

Oberon

Programming in Oberon
Object-Oriented Programming in Oberon-2

Objective-C

Programming With Objective-C
Object-Oriented Programming with Objective-C
Objective-C Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)

OCaml

Introduction to Objective Caml
Objective Caml for Scientists (first chapter only)
Unix System Programming in OCaml
Developing Applications With Objective Caml
Real World OCaml
Think OCaml - Allen B. Downey and Nicholas Monje

Octave

Octave Programming

OpenSCAD

OpenSCAD User Manual

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

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
Learning Perl The Hard Way
Practical mod_perl
Web Client Programming with Perl
Plack Handbook
Exploring Programming Language Architecture in Perl

PHP

PHP Essentials
PHP: The Right Way
Practical PHP Programming (wiki containing O'Reilly's PHP In a Nutshell)
Symfony2
Zend Framework: Survive the Deep End Laravel Framework
Official Documentation (Offline Version) Drupal Framework Drupal 6 Drupal 7
The Tiny Book of Rules

Master Drupal in 7 hours Drupal 8
PHP Internals Book
PHP Best Practices
PHP Programming
PHP with Guru99
Practical Php Testing
Practical PHP Programming

PowerShell

Mastering PowerShell

Processing

The Nature of Code: Simulating Natural Systems with Processing

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 Techniques in Prolog
Prolog Techniques
Simply Logical
Visual Prolog 7.2 for Tyros

PostgreSQL

Practical PostgreSQL

Python

Byte of Python
Data Structures and Algorithms in Python
Dive into Python
Dive into Python 3
Google's Python Class
Hacking Secret Cyphers with Python - Al Sweigart
Hitchiker's Guide to Python!
How to Think Like a Computer Scientist: Learning with Python
How to Think Like a Computer Scientist: Learning with Python, Interactive Edition
Introduction to Programming Using Python - Cody Jackson
Invent Your Own Computer Games With Python - Al Sweigart
Learn Python The Hard Way

Lectures on scientific computing with python - J.R. Johansson
Making Games with Python & Pygame - Al Sweigart
Natural Language Processing with Python

Porting to Python 3: An In-Depth Guide
Python Bibliotheca
Python Cookbook - David Beazley

Python for Fun
Python for Informatics: Exploring Information
Python for you and me
Python Practice Book
Python Programming - PDF
Python Scientific Lecture Notes

Snake Wrangling For Kids
The Art and Craft of Programming
The Programming Historian - William J. Turkel, Adam Crymble and Alan MacEachern
Think Python - Allen B. Downey
Problem Solving with Algorithms and Data Structures

Python Module of the Week
Wikibooks: Python Programming
Python Koans
Test-Driven Web Development with Python
Python Standard Library - Fredrik Lundh
Building Skills in Python
Building Skills in Object-Oriented Design (Python)
Text Processing in Python

Django

Djen of Django
Django by Example
Django by Example for Django 1.5
Tango With Django
Deploy Django

Flask

The Flask Mega-Tutorial

R

The R Inferno
The R Manuals
The R Language
R by example
Introduction to Probability and Statistics Using R
Advanced R Programming
R practicals
R for spatial analysis
Learning Statistics with R
R language for Programmers
R Programming
Practical Regression and Anova using R
Data Mining with R

Racket

Programming Languages: Application and Interpretation
The Racket Guide

Ruby

The Bastards Book of Ruby
Learn Ruby the hard way
MacRuby: The Definitive Guide
Mr. Neighborly's Humble Little Ruby Book
Programming Ruby
Why's (Poignant) Guide to Ruby
(mirror
) Ruby Hacking Guide
Ruby Best Practices
RubyMonk - Interactive Ruby tutorials
A community-driven Ruby style guide
CodeCademy Ruby
How To Think Like a Computer Scientist: Learning With Ruby
Ruby in Twenty Minutes
Ruby Essentials
Ruby User's Guide
Ruby Programming
Ruby Learning
Try Ruby
Ruby Koans
Ruby User's Guide
The Little Book Of Ruby
Mr. Neighborly's Humble Little Ruby Book
Learn to Program, by Chris Pine

Ruby on Rails

Ruby on Rails Tutorial: Learn Rails By Example
Objects on Rails
Ruby on Rails Guides
A community-driven Rails style guide
Upgrading to Rails 4

Rust

Rust for Rubyists

Sage

The Sage Manuals
Sage for Newbies
Sage for Power Users

Scala

Another tour of Scala
Effective 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
Scala School by Twitter
A Scala Tutorial for Java programmers
Xtrace

Scheme

Concrete Abstractions: An Introduction to Computer Science Using Scheme
The Scheme Programming Language Edition 3 , Edition 4
Simply Scheme: Introducing Computer Science
Teach Yourself Scheme in Fixnum Days

Scilab

Introduction to Scilab
Programming in Scilab
Writing Scilab Extensions

Scratch

Computer Science Concepts in Scratch

Security

OWASP Top 10 for .NET Developers
Intrusion Detection Systems with Snort

Sed

Sed - An Introduction and Tutorial

Silverlight

10 Laps around Silverlight 5

Smalltalk

Computer Programming using GNU Smalltalk
Dynamic Web Development with Seaside
Free Online Smalltalk Books
Pharo by Example
Squeak By Example

Subversion

Subversion Version Control
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
SQL For Web Nerds

SQL Server

Introducing Microsoft SQL Server 2008 R2
Introducing Microsoft SQL Server 2012
SQL Server 2012 Tutorials: Reporting Services
SQL Server Execution Plans (RedGate, By Grant Fritchey)
Defensive Database Programming (RedGate, By Alex Kuznetsov)
SQL Server Execution Plans, Second Edition (RedGate, By Grant Fritchey)
Inside the SQL Server Query Optimizer(RedGate, By Benjamin Nevarez)
SQL Server Transaction Log Management
(RedGate, By Tony Davis and Gail Shaw)
The Art of SQL Server FILESTREAM
(RedGate, By Jacob Sebastian and Sven Aelterman)
SQL Server Concurrency: Locking, Blocking and Row Versioning(RedGate, By Kalen Delaney)
SQL Server Backup and Restore(RedGate, By Shawn McGehee)
Troubleshooting SQL Server: A Guide for the Accidental DBA(RedGate, By Jonathan Kehayias and Ted Krueger)
SQL Server Hardware(RedGate, By Glenn Berry)
SQL Server Statistics(RedGate, By Holger Schmeling)
Performance Tuning with SQL Server Dynamic Management Views(RedGate, By Tim Ford and Louis Davidson)
Brad's Sure Guide to SQL Server Maintenance Plans(RedGate, By Brad McGehee)
Best of SQLServerCentral.com Vol 7(RedGate, By SQLServerCentral Authors)
Protecting SQL Server Data(RedGate, By John Magnabosco)
SQL Server Tacklebox
(RedGate, By Rodney Landrum)
How to Become an Exceptional DBA
(RedGate, By Brad McGehee)
SQL Server Stumpers Vol.5(RedGate, By SQLServerCentral Authors)
Mastering SQL Server Profiler(RedGate, By Brad McGehee)

Teradata

Teradata Books

TeX

TeX for the Impatient , by Paul Abrahams, Kathryn Hargreaves, and Karl Berry
Notes On Programming in TeX by Christian Feursänger
TeX by Topic, A TeXnician's Reference
, by Victor Eijkhout
The Computer Science of TeX and LaTeX , by Victor Eijkhout

Theory

Networks, Crowds, and Markets: Reasoning About a Highly Connected World
Homotopy Type Theory: Univalent Foundations of Mathematics

TypeScript

TypeScript Succinctly, Syncfusion (PDF, Kindle)

Unix

A User's Guide for GNU AWK

Vim

A Byte of Vim
Vim Recipes
Vi Improved -- Vim by Steve Oualline
Learn Vimscript the Hard Way

Learn Vim Progressively

Websphere

Getting started with WebSphere

Windows Phone

Programming Windows Phone 7
Windows Phone Programming Blue Book
Developing An Advanced Windows Phone 7.5 App That Connects To The Cloud

Windows 8

Programming Windows 8 Apps with HTML, CSS, and JavaScript