📚 Freely available programming books
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

803 lines
38 KiB

###Index
* [Meta-Lists](#meta-lists)
* [Graphics Programming](#graphics-programming)
* [Language Agnostic](#language-agnostic)
* [Ada](#ada)
* [Android](#android)
* [Autotools](#autotools)
* [ASP.NET MVC](#aspnet-mvc)
* [Assembly Language](#assembly-language)
* [Bash](#bash)
* [C](#c)
* [C++](#c-1)
* [Clojure](#clojure)
* [CoffeeScript](#coffeescript)
* [ColdFusion](#coldfusion)
* [D](#d)
* [DTrace](#dtrace)
* [DB2](#db2)
* [Delphi / Pascal](#delphi--pascal)
* [Django](#django)
* [Elasticsearch](#elasticsearch)
* [Emacs](#emacs)
* [Erlang](#erlang)
* [Flask](#flask)
* [Flex](#flex)
* [F#](#f-sharp)
* [Forth](#forth)
* [Git](#git)
* [Go](#go)
* [Grails](#grails)
* [Hadoop](#hadoop)
* [Haskell](#haskell)
* [HTML / CSS](#html--css)
* [Icon](#icon)
* [IDL](#idl)
* [Java](#java)
* [JavaScript](#javascript)
* [Node.js](#nodejs)
* [D3.js](#d3js)
* [LaTeX](#latex)
* [Linux](#linux)
* [Lisp](#lisp)
* [Lua](#lua)
* [Mathematica](#mathematica)
* [Maven](#maven)
* [Mercurial](#mercurial)
* [.NET (C# / VB / Nemerle / Visual Studio)](#net-c--vb--nemerle--visual-studio)
* [NoSQL](#nosql)
* [Oberon](#oberon)
* [Objective-C](#objective-c)
* [OCaml](#ocaml)
* [OpenSCAD](#openscad)
* [Oracle Server](#oracle-server)
* [Oracle PL/SQL](#oracle-plsql)
* [Parrot / Perl 6](#parrot--perl-6)
* [Perl](#perl)
* [PHP](#php)
* [PowerShell](#powershell)
* [Processing](#processing)
* [Prolog](#prolog)
* [PostgreSQL](#postgresql)
* [Python](#python)
* [R](#r)
* [Racket](#racket)
* [Ruby](#ruby)
* [Ruby on Rails](#ruby-on-rails)
* [Rust](#rust)
* [Sage](#sage)
* [Scala](#scala)
* [Scheme](#scheme)
* [Sed](#sed)
* [Smalltalk](#smalltalk)
* [Subversion](#subversion)
* [SQL (implementation agnostic)](#sql-implementation-agnostic)
* [Teradata](#teradata)
* [Theory](#theory)
* [Vim](#vim)
* [Websphere](#websphere)
* [Windows Phone](#windows-phone)
###Meta-Lists
* [25 Free Computer Science Ebooks](http://www.coderholic.com/25-free-computer-science-books/)
* [Cheat Sheets (Free)](http://refcardz.dzone.com/)
* [Free Tech Books](http://www.freetechbooks.com/)
* [Microsoft Press: Free E-Books](http://blogs.msdn.com/b/microsoft_press/archive/2011/03/03/ebooks-list-of-our-free-books.aspx)
* [MindView Inc](http://www.mindviewinc.com/Books/)
* [O'Reilly's Open Books Project](http://oreilly.com/openbook/)
* [TechBooksForFree.com](http://www.techbooksforfree.com/)
* [Theassayer.org](http://theassayer.org/)
* [Wikibooks: Programming](http://en.wikibooks.org/wiki/Category%3aComputer_programming)
###Graphics Programming
* [DirectX manual](http://www.xmission.com/~legalize/book/download/index.html) (draft)
* [Learning Modern 3D Graphics Programming](http://www.arcsynthesis.org/gltut/) (draft)
* [Introduction to Modern OpenGL](http://open.gl/)
* [GPU Gems](http://http.developer.nvidia.com/GPUGems/gpugems_part01.html)
* [GPU Gems 2](http://http.developer.nvidia.com/GPUGems2/gpugems2_part01.html) - [ch 8,14,18,29,30 as pdf](ftp://download.nvidia.com/developer/GPU_Gems_2/)
* [GPU Gems 3](http://http.developer.nvidia.com/GPUGems3/gpugems3_part01.html)
* [Graphics Programming Black Book](http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/graphics-programming-black-book-r1698)
* [OpenGL Insights](http://openglinsights.com) (chapters 22, 23, 28, 33, 39)
* [ShaderX series](http://tog.acm.org/resources/shaderx/)
* [Tutorials for modern OpenGL](http://www.opengl-tutorial.org/)
###Language Agnostic
####Algorithms & Datastructures
* [Algorithms and Data-Structures](http://www.ethoberon.ethz.ch/WirthPubl/AD.pdf) (PDF)
* [Algorithms](http://www.cs.berkeley.edu/~vazirani/algorithms.html) (draft)
* [Binary Trees](http://cslibrary.stanford.edu/110/BinaryTrees.pdf)
* [Clever Algorithms](http://www.cleveralgorithms.com/nature-inspired/index.html)
* [Computational Geometry: Algorithms and Applications](http://www.cs.uu.nl/geobook/) (chapters 1 and 9, pseudo-code)
* [Data Structures and Algorithms: Annotated Reference with Examples](http://dotnetslackers.com/projects/Data-Structures-And-Algorithms/)
* [The Algorithm Design Manual](http://www8.cs.umu.se/kurser/TDBAfl/VT06/algorithms/BOOK/BOOK/BOOK.HTM)
* [Hacker's Delight](http://www.hackersdelight.org) (chapter 2, code)
* [LEDA: A Platform for Combinatorial and Geometric Computing](http://www.mpi-inf.mpg.de/~mehlhorn/LEDAbook.html)
* [Planning Algorithms](http://planning.cs.uiuc.edu/)
* [Linked List Basics](http://cslibrary.stanford.edu/103/LinkedListBasics.pdf)
* [Linked List Problems](http://cslibrary.stanford.edu/105/LinkedListProblems.pdf)
* [Open Data Structures](http://opendatastructures.org/)
* [Purely Functional Data Structures](http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf)
####Operating systems
* [The Art of Unix Programming](http://catb.org/esr/writings/taoup/html/)
* [The Little Book of Semaphores](http://greenteapress.com/semaphores/) - Allen B. Downey
* [Operating Systems and Middleware](https://gustavus.edu/mcs/max/os-book/) (PDF and LaTeX)
####Database
* [Database Fundamentals](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Database_fundamentals.pdf) (PDF)
* [Database-backed Web Sites](http://philip.greenspun.com/wtr/dead-trees/)
####Networking
* [High-Performance Browser Networking](http://chimera.labs.oreilly.com/books/1230000000545/index.html)
* [The TCP/IP Guide](http://www.tcpipguide.com/free/t_toc.htm)
* [Understanding IP Addressing: Everything you ever wanted to know](http://www.apnic.net/__data/assets/pdf_file/0020/8147/501302.pdf) (PDF)
* [ZeroMQ Guide](http://zguide.zeromq.org/page:all)
####Compiler Design
* [Compiler Construction](http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf) (PDF)
* [Let's Build a Compiler](http://www.stack.nl/~marcov/compiler.pdf)
* [Linkers and loaders](http://www.iecc.com/linker/)
* [Compiler Design: Theory, Tools, and Examples](http://elvis.rowan.edu/~bergmann/books.html)
* [Practical and Theoretical Aspects of Compiler Construction](http://www.stanford.edu/class/archive/cs/cs143/cs143.1128/) (class lectures and slides)
####Programming Paradigms
* [Introduction to Functional Programming](http://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh-1996/) (class lectures and slides)
* [Type Theory and Functional Programming](https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/)
####Parallel Programming
* [How to Write Parallel Programs](http://www.lindaspaces.com/book/)
* [Is Parallel Programming Hard, And, If So, What Can You Do About It?](http://kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html)
####Software Architecture
* [The Architecture of Open Source Applications](http://www.aosabook.org/en/index.html)
* [The Performance of Open Source Applications](http://aosabook.org/en/)
* [Programming Pearls](http://cs.bell-labs.com/cm/cs/pearls/)
* [Seamless Object-Oriented Software Architecture](http://www.bon-method.com/book_print_a4.pdf)
* [Summary of the GoF Design Patterns](http://domaindrivendesign.org/sites/default/files/discussion/PatternSummariesUnderCreativeCommons.doc)
* [How to write Unmaintainable Code](http://mindprod.com/jgloss/unmain.html)
* [OO Design](http://homepage.mac.com/s_lott/books/oodesign.html)
* [Object-Oriented Reengineering Patterns](http://scg.unibe.ch/download/oorp/)
* [Patterns and Practices: Application Architecture Guide 2.0](http://www.codeplex.com/AppArchGuide)
* [The Definitive Guide to Building Code Quality](http://nexus.realtimepublishers.com/dgbcq.php)
* [Patterns of Software: Tales from the Software Community](http://www.dreamsongs.com/Files/PatternsOfSoftware.pdf) (PDF)
* [Best Kept Secrets of Peer Code Review](http://smartbear.com/codecollab-code-review-book.php)
* [Domain Driven Design Quickly](http://www.infoq.com/minibooks/domain-driven-design-quickly)
* [Essential Skills for Agile Development](http://elliottback.com/wp/essential-skills-for-agile-development/)
####Information Retrieval
* [Introduction to Information Retrieval](http://nlp.stanford.edu/IR-book/information-retrieval-book.html)
####Datamining
* [Mining of Massive Datasets](http://infolab.stanford.edu/~ullman/mmds.html)
####Mathematics
* [Think Bayes: Bayesian Statistics Made Simple](http://www.greenteapress.com/thinkbayes/) - Allen B. Downey
* [Think Stats: Probability and Statistics for Programmers](http://greenteapress.com/thinkstats/) (PDF, code written in Python) - Allen B. Downey
* [Mathematical Logic - an Introduction](http://www.ii.uib.no/~michal/und/i227/book/book.pdf) (PDF)
* [Bayesian Methods for Hackers](https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers)
####Misc
* [97 Things Every Programmer Should Know](http://programmer.97things.oreilly.com/)
* [97 Things Every Programmer Should Know - Extended](https://leanpub.com/97-Things-Every-Programmer-Should-Know-Extended)
* [How to Design Programs](http://www.htdp.org/)
* [How to Think Like a Computer Scientist](http://openbookproject.net/thinkcs/)
* [I Am a Bug](http://www.amibug.com/iamabug/p01.html)
* [Learn to Program](http://pine.fm/LearnToProgram/)
* [Foundations of Computer Science](http://infolab.stanford.edu/~ullman/focs.html) - Al Aho and Jeff Ullman
* [Foundations of Programming](http://codebetter.com/files/folders/codebetter_downloads/entry179694.aspx)
* [Structure and Interpretation of Computer Programs](http://mitpress.mit.edu/sicp/)
* [An Introduction to the Theory of Computation](http://www.cse.ohio-state.edu/~gurari/theory-bk/theory-bk.html)
* [Programming Languages: Application and Interpretation](http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/)
* [Programming Methodology](http://www.stanford.edu/class/cs106a/cgi-bin/handouts/)
* [Category Theory for Computing Science](http://www.math.mcgill.ca/triples/Barr-Wells-ctcs.pdf)
* [The Cathedral and the Bazaar](http://www.catb.org/esr/writings/cathedral-bazaar/)
* [Communicating Sequential Processes (PDF)](http://www.usingcsp.com/cspbook.pdf) - Tony Hoare
* [Come, Let's Play: Scenario-Based Programming Using Live Sequence Charts](http://www.scribd.com/doc/175241338/Come-Let-s-Play)
* [Computer Musings](http://scpd.stanford.edu/knuth/index.jsp) (lectures by Donald Knuth)
* [How Computers Work](http://www.fastchip.net/howcomputerswork/p1.html)
* [Data-Intensive Text Processing with MapReduce](http://www.umiacs.umd.edu/~jimmylin/MapReduce-book-final.pdf) (PDF)
* [Designing Interfaces](http://designinginterfaces.com) by Jennifer Tidwell
* [Digital Signal Processing For Engineers and Scientists](http://www.dspguide.com/)
* [Distributed systems for fun and profit](http://book.mixu.net/distsys/single-page.html)
* [Don't Just Roll the Dice](http://www.neildavidson.com/dontjustrollthedice.html)
* [Essentials of Metaheuristics](http://cs.gmu.edu/~sean/book/metaheuristics/) by Sean Luke
* [A Field Guide To Genetic Programming](http://dces.essex.ac.uk/staff/rpoli/gp-field-guide/toc.html)
* [Flow based Programming](http://jpaulmorrison.com/fbp/#book)
* [Getting Real](http://gettingreal.37signals.com/)
* [Getting started with Open source development](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_started_with_open_source_development_p2.pdf) (PDF)
* [The Great Tree List Recursion Problem](http://cslibrary.stanford.edu/109/TreeListRecursion.pdf)
* [Guide to the Software Engineering Body of Knowledge](http://www.computer.org/portal/web/swebok)
* [Matters Computational](http://www.jjj.de/fxt/#fxtbook)
* [Modeling Reactive Systems with Statecharts](http://www.scribd.com/doc/167971960/Modeling-Reactive-Systems-With-Statecharts)
* [NASA Manager Handbook for Software Development](http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-manage.pdf) (PDF)
* [NASA Software Measurement Handbook](http://www.scribd.com/doc/7181362/NASA-Software-Measurement-Guidebook)
* [PNG: The Definitive Guide](http://www.libpng.org/pub/png/book/)
* [Pointers And Memory](http://cslibrary.stanford.edu/102/PointersAndMemory.pdf)
* [Programming Reliable Systems (Joe Armstrong's PhD thesis)](http://www.sics.se/~joe/thesis/armstrong_thesis_2003.pdf)
* [Producing Open Source Software](http://producingoss.com/)
* [Project Oberon](http://www-old.oberon.ethz.ch/WirthPubl/ProjectOberon.pdf) (PDF)
* [Security Engineering](http://www.cl.cam.ac.uk/~rja14/book.html)
* [Small Memory Software](http://www.smallmemory.com/book.html)
* [The Art of Computer Programming](http://www.cs.utsa.edu/~wagner/knuth/) (fascicles, mostly volume 4)
* [Think Complexity](http://www.greenteapress.com/compmod/) - Allen B. Downey
* [Introduction to High-Performance Scientific Computing](http://tacc-web.austin.utexas.edu/veijkhout/public_html/istc/istc.html) - Victor Eijkhout
####MOOC
* [Online Course Materials](http://ocw.mit.edu/OcwWeb/web/home/home/index.htm)
###Ada
* [Ada 95: The Craft of Object-Oriented Programming](http://faculty.cs.wwu.edu/reedyc/AdaResources/bookhtml/contents.htm)
* [Ada Distilled](http://www.adapower.com/pdfs/AdaDistilled07-27-2003.pdf)
* [Ada for Software Engineers](http://www.adapower.com/pdfs/AdaDistilled07-27-2003.pdf)
###Android
* [Google Android Developer Training](https://developer.android.com/training/index.html)
* [Coreservlets Android Programming Tutorial](http://www.coreservlets.com/android-tutorial/)
###Autotools
* [GNU Autoconf, Automake and Libtool](http://sourceware.org/autobook/)
###ASP.NET MVC
* [ASP.NET MVC Music Store](http://mvcmusicstore.codeplex.com/)
* [NerdDinner Walkthrough](http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx)
###Assembly Language
* [Paul Carter's Tutorial on x86 Assembly](http://drpaulcarter.com/pcasm/)
* [Professional Assembly Language](http://blog.hit.edu.cn/jsx/upload/AT%EF%BC%86TAssemblyLanguage.pdf) (PDF)
* [Programming from the Ground Up](http://download.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf) (PDF)
* [Software optimization resources by Agner Fog](http://www.agner.org/optimize/)
* [The Art of Assembly Language Programming](http://cs.smith.edu/~thiebaut/ArtOfAssembly/artofasm.html)
###Bash
* [Advanced Bash-Scripting Guide](http://tldp.org/LDP/abs/html/)
* [Bash Guide for Beginners](http://www.tldp.org/LDP/Bash-Beginners-Guide/html/) by Machtelt Garrels
* [Lhunath's Bash Guide](http://mywiki.wooledge.org/BashGuide)
* [The Command Line Crash Course](http://learncodethehardway.org/cli/book/) (also a Powershell reference)
###C
* [Beej's Guide to C Programming](http://beej.us/guide/bgc/)
* [Beej's Guide to Network Programming](http://beej.us/guide/bgnet/)
* [The C book](http://publications.gbdirect.co.uk/c_book/)
* [Essential C](http://cslibrary.stanford.edu/101/EssentialC.pdf)
* [Learn C the hard way](http://c.learncodethehardway.org/book/)
* [The new C standard - an annotated reference](http://www.knosof.co.uk/cbook/cbook.html)
* [Object Oriented Programming in C](http://www.planetpdf.com/codecuts/pdfs/ooc.pdf) (PDF)
###C++
* [C++ Annotations](http://cppannotations.sourceforge.net/)
* [C++ GUI Programming With Qt 3](http://www.computer-books.us/cpp_0010.php)
* [CS106X Programming Abstractions in C++](http://www.stanford.edu/class/cs106x/)
* [Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt](http://www.jjj.de/fxt/fxtbook.pdf)
* [Software optimization resources by Agner Fog](http://www.agner.org/optimize/)
* [Thinking in C++, Second Edition](http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html)
* Also see: [The Definitive C++ Book Guide and List](http://stackoverflow.com/q/388242/511601)
###Clojure
* [Clojure Programming](http://en.wikibooks.org/wiki/Clojure_Programming)
* [Clojure - Functional Programming for the JVM](http://java.ociweb.com/mark/clojure/article.html)
* [Data Sorcery with Clojure](http://data-sorcery.org/contents/)
* [Clojure Cookbook](https://github.com/clojure-cookbook/clojure-cookbook)
* [Modern cljs](https://github.com/magomimmo/modern-cljs)
* [Clojure for the Brave and True](http://www.braveclojure.com/)
* [The Clojure Style Guide](https://github.com/bbatsov/clojure-style-guide)
###CoffeeScript
* [Smooth CoffeeScript](http://autotelicum.github.com/Smooth-CoffeeScript/SmoothCoffeeScript.html)
* [The Little Book on CoffeeScript](http://arcturo.github.com/library/coffeescript/)
###ColdFusion
* [CFML In 100 Minutes](https://github.com/mhenke/CFML-in-100-minutes/blob/master/cfml100mins.markdown)
* [Learn CF in a Week](http://learncfinaweek.com/)
###D
* [Programming in D](http://ddili.org/ders/d.en/)
###DTrace
* [IllumOS Dynamic Tracing Guide](http://dtrace.org/guide/preface.html)
###DB2
* [Getting started with DB2 Express-C](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_DB2_Express_v9.7_p4.pdf) (PDF)
* [Getting started with IBM Data Studio for DB2](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_IBM_Data_Studio_for_DB2_p3.pdf) (PDF)
* [Getting started with IBM DB2 development](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_DB2_App_Dev_p2.pdf) (PDF)
###Delphi / Pascal
* [Essential Pascal Version 1 and 2](http://www.marcocantu.com/epascal/)
###Django
* [Djen of Django](http://agiliq.com/books/djenofdjango/)
* [Django by Example](http://www.lightbird.net/dbe/)
###Elasticsearch
* [Exploring Elasticsearch](http://exploringelasticsearch.com/)
###Emacs
* [GNU Emacs Manual, 17th Edition, v. 24.2](http://shop.fsf.org/product/Emacs_Manual_24/)
* [An Introduction to Programming in Emacs Lisp, 3rd Edition](https://www.gnu.org/software/emacs/manual/html_node/eintr/index.html)
###Erlang
* [Learn You Some Erlang For Great Good](http://learnyousomeerlang.com/)
###Flask
* [The Flask Mega-Tutorial](http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world)
###Flex
* [Getting started with Adobe Flex](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_Adobe_Flex_p2.pdf) (PDF)
###F Sharp
* [F Sharp Programming](http://en.wikibooks.org/wiki/F_Sharp_Programming) in Wikibooks
* [Real World Functional Programming](http://msdn.microsoft.com/en-us/library/hh314518.aspx) (MSDN Chapters)
* [Programming Language Concepts for Software Developers](http://www.itu.dk/courses/BPRD/E2009/plcsd-1-2.pdf) (PDF)
###Forth
* [Starting Forth](http://home.iae.nl/users/mhx/sf.html)
* [Thinking Forth](http://thinking-forth.sourceforge.net/)
* [Programming Forth](http://www.mpeforth.com/arena/ProgramForth.pdf)
* [A Beginner's Guide to Forth](http://hackershelf.com/book/482/a-beginners-guide-to-forth/)
* [And so Forth...](http://ficl.sourceforge.net/pdf/Forth_Primer.pdf)
* [Thoughtful Programming and Forth](http://www.ultratechnology.com/forth.htm)
###Git
* [Pro Git](http://git-scm.com/book)
* [Git From The Bottom Up](http://ftp.newartisans.com/pub/git.from.bottom.up.pdf) (PDF)
* [Git internals](https://github.com/pluralsight/git-internals-pdf/raw/master/drafts/peepcode-git.pdf)
* [Git Magic](http://www-cs-students.stanford.edu/~blynn/gitmagic/)
###Go
* [The Go Tutorial](http://golang.org/doc/go_tutorial.html)
* [Go by Example](https://gobyexample.com/)
* [Learning Go](http://www.miek.nl/projects/learninggo/)
* [An Introduction to Programming in Go](http://www.golang-book.com/)
* [Network programming with Go](http://jan.newmarch.name/go/)
###Grails
* [Getting Started with Grails](http://www.infoq.com/minibooks/grails-getting-started)
###Hadoop
* [Programming Pig](http://chimera.labs.oreilly.com/books/1234000001811/index.html) - Alan Gates
###Haskell
* [Haskell and Yesod](http://www.yesodweb.com/book-1.2)
* [Learn You a Haskell](http://learnyouahaskell.com/)
* [Natural Language Processing for the Working Programmer](http://nlpwp.org/book/index.xhtml)
* [Parallel and Concurrent Programming in Haskell](http://chimera.labs.oreilly.com/books/1230000000929)
* [Real World Haskell](http://book.realworldhaskell.org/)
* [Wikibook Haskell](http://en.wikibooks.org/wiki/Haskell)
* [Yet Another Haskell Tutorial](http://hal3.name/docs/daume02yaht.pdf) (PDF)
* [Haskell no panic](http://lisperati.com/haskell/)
###HTML / CSS
* [Dive Into HTML5](http://diveintohtml5.info/) ([PDF](http://mislav.uniqpath.com/2011/10/dive-into-html5/))
* [GA Dash](http://dash.generalassemb.ly)
* [HTML Dog Tutorials](http://www.htmldog.com/)
* [HTML5 Canvas](http://chimera.labs.oreilly.com/books/1234000001654/index.html) - Steve Fulton & Jeff Fulton
* [HTML5 for Publishers](http://chimera.labs.oreilly.com/books/1234000000770/index.html) - Sanders Kleinfeld
* [Learn CSS Layout](http://learnlayout.com/)
###Icon
* [The Implementation of the Icon Programming Language](http://www.cs.arizona.edu/icon/ibsale.htm)
###IDL
* [Getting Started with IDL](http://www.astro.virginia.edu/class/oconnell/astr511/IDLresources/getting-started-IDL-v7.0.pdf)
* [Guide to Using IDL for Astronomers](http://www.astro.virginia.edu/class/oconnell/astr511/IDLresources/IDLguide.html)
###Java
* [Artificial Intelligence - Foundation of Computational Agents](http://artint.info/html/ArtInt.html)
* [Category wise tutorials - J2EE](http://www.mkyong.com/)
* [How to Think Like a Computer Scientist](http://greenteapress.com/thinkapjava/)
* [Introduction to Programming Using Java](http://math.hws.edu/javanotes/) - David J. Eck
* [Java Application Development on Linux by Carl Albing and Michael Schwarz (PDF)](http://www.phptr.com/content/images/013143697X/downloads/013143697X_book.pdf)
* [The Java EE6 Tutorial](http://download.oracle.com/javaee/6/tutorial/doc/javaeetutorial6.pdf) (PDF)
* [Java Thin-Client Programming](http://www.redbooks.ibm.com/redbooks/SG245118.html)
* [Learning Java](http://chimera.labs.oreilly.com/books/1234000001805/index.html) - Patrick Niemeyer
* [OSGi in Practice](http://njbartlett.name/files/osgibook_preview_20091217.pdf) (PDF)
* [Sun's Java Tutorials](http://download.oracle.com/javase/tutorial/)
* [Thinking in Java](http://www.mindview.net/Books/TIJ/)
###JavaScript
* [Crockford's JavaScript](http://www.crockford.com/javascript/)
* [Eloquent JavaScript](http://eloquentjavascript.net/)
* [Essential Javascript & jQuery Design Patterns for Beginners](http://www.addyosmani.com/resources/essentialjsdesignpatterns/book/)
* [JavaScript Bible](http://media.wiley.com/product_ancillary/28/07645334/DOWNLOAD/all.pdf)
* [JavaScript Essentials](http://www.techotopia.com/index.php/JavaScript_Essentials)
* [jQuery Fundamentals](http://jqfundamentals.com/book/) (starts with JavaScript basics)
* [Mozilla Developer Network's JavaScript Guide](https://developer.mozilla.org/en/JavaScript/Guide)
* [JavaScript Allongé](https://leanpub.com/javascript-allonge/read)
* [Learning JavaScript Design Patterns](http://addyosmani.com/resources/essentialjsdesignpatterns/book/)
* [O'Reilly Programming JavaScript Applications - Early Release](http://chimera.labs.oreilly.com/books/1234000000262/index.html)
* [The JavaScript Tutorial](http://javascript.info/)
* [Developing Backbone.js Applications](http://addyosmani.github.io/backbone-fundamentals/)
* [JavaScript Allongé. A strong cup of functions, objects, combinators, and decorators](https://leanpub.com/javascript-allonge/read)
####Node.js
* [Mastering Node.js](http://visionmedia.github.com/masteringnode/)
* [Mixu's Node Book](http://book.mixu.net/node/)
* [The Node Beginner Book](http://nodebeginner.org/)
* [Up and Running with Node](http://ofps.oreilly.com/titles/9781449398583/)
####D3.js
* [Interactive Data Visualization for the Web](http://chimera.labs.oreilly.com/books/1230000000345/index.html)
###LaTeX
* [The Not So Short Introduction to LaTeX](http://tobi.oetiker.ch/lshort/lshort.pdf)
* [LaTeX Wikibook](http://en.wikibooks.org/wiki/LaTeX)
###Linux
* [Advanced Linux Programming](http://www.advancedlinuxprogramming.com/)
* [GNU Autoconf, Automake and Libtool](http://sources.redhat.com/autobook/download.html)
* [GTK+/Gnome Application Development](http://www.linuxtopia.org/online_books/gui_toolkit_guides/gtk+_gnome_application_development/index.html)
* [The Linux Development Platform (PDF)](http://www.informit.com/content/downloads/perens/0130091154.pdf)
* [Linux Device Drivers](http://lwn.net/Kernel/LDD3/) by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
* [The Linux Kernel Module Programming Guide](http://tldp.org/LDP/lkmpg/2.6/html/)
* [Secure Programming for Linux and Unix](http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO.html)
* [Linux from Scratch](http://www.linuxfromscratch.org/lfs/view/stable/)
* [What Every Programmer Should Know About Memory](http://www.akkadia.org/drepper/cpumemory.pdf)
###Lisp
* [Common Lisp the Language, 2nd Edition](http://www.cs.cmu.edu/Groups/AI/html/cltl/mirrors.html)
* [Common Lisp: A Gentle Introduction to Symbolic Computation](http://www.cs.cmu.edu/~dst/LispBook/) - David S. Touretzky
* [Common Lisp Quick Reference](http://clqr.boundp.org/)
* [Let Over Lambda - 50 Years of Lisp](http://letoverlambda.com/index.cl/toc)
* [Natural Language Processing in Lisp](http://www.informatics.susx.ac.uk/research/groups/nlp/gazdar/nlp-in-lisp/index.html)
* [On Lisp](http://www.paulgraham.com/onlisp.html)
* [Practical Common Lisp](http://www.gigamonkeys.com/book/)
* [Successful Lisp: How to Understand and Use Common Lisp](http://psg.com/~dlamkins/sl/) - David Lamkins
* [Sketchy LISP](http://www.bcl.hamilton.ie/~nmh/t3x.org/zzz/) - Nils Holm
###Lua
* [Programming In Lua](http://www.lua.org/pil/) (for version 5)
* [Programming Gems](http://www.lua.org/gems/)
* [Lua 5.1 Reference Manual](http://www.lua.org/manual/5.1/)
###Mathematica
* [Mathematica® programming: an advanced introduction by Leonid Shifrin](http://www.mathprogramming-intro.org/)
###Maven
* [Better Builds with Maven](http://www.maestrodev.com/better-build-maven)
* [Maven by Example](http://www.sonatype.com/books/mvnex-book/reference/public-book.html)
* [Maven: The Complete Reference](http://www.sonatype.com/books/mvnref-book/reference/public-book.html)
* [Repository Management with Nexus](http://www.sonatype.com/books/nexus-book/reference/)
* [Developing with Eclipse and Maven](http://www.sonatype.com/books/m2eclipse-book/reference/)
###Mercurial
* [Mercurial: The Definitive Guide](http://hgbook.red-bean.com/)
* [HGInit - Mercurial Tutorial by Joel Spolsky](http://hginit.com/)
###.NET (C# / VB / Nemerle / Visual Studio)
* [C# Essentials](http://www.techotopia.com/index.php/C_Sharp_Essentials)
* [C# Programming - Wikibook](http://en.wikibooks.org/wiki/C_Sharp_Programming)
* [C# Yellow Book](http://www.csharpcourse.com/) (intro to programming)
* [Charles Petzold's .NET Book Zero](http://www.charlespetzold.com/dotnet/index.html)
* [Data Structures and Algorithms with Object-Oriented Design Patterns in C#](http://www.brpreiss.com/books/opus6/)
* [Entity Framework](http://weblogs.asp.net/zeeshanhirani/archive/2008/12/05/my-christmas-present-to-the-entity-framework-community.aspx)
* [Moving to Microsoft Visual Studio 2010](http://blogs.msdn.com/b/microsoft_press/archive/2010/09/13/free-ebook-moving-to-microsoft-visual-studio-2010.aspx)
* [Nemerle](http://asaha.com/ebook/AMTQ2NjA-/Nemerle.pdf)
* [Programmer's Heaven C# School Book](http://www.programmersheaven.com/2/CSharpBook) (covers C# 1.0 and 2.0)
* [Threading in C#](http://www.albahari.com/threading/)
* [Visual Basic Essentials](http://www.techotopia.com/index.php/Visual_Basic_Essentials)
* [Visual Studio Tips and Tricks](http://www.infoq.com/minibooks/vsnettt) (VS 2003-2005 only)
###NoSQL
* [CouchDB: The Definitive Guide](http://books.couchdb.org/relax/)
* [The Little MongoDB Book](http://openmymind.net/2011/3/28/The-Little-MongoDB-Book)
* [The Little Redis Book](http://openmymind.net/2012/1/23/The-Little-Redis-Book/)
* [The Little Riak Book](http://littleriakbook.com/)
* [Graph Databases](http://graphdatabases.com/)
###Oberon
* [Programming in Oberon](http://www-old.oberon.ethz.ch/WirthPubl/ProgInOberon.pdf) (PDF)
* [Object-Oriented Programming in Oberon-2](http://ssw.jku.at/Research/Books/Oberon2.pdf) (PDF)
###Objective-C
* [Programming With Objective-C](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/ProgrammingWithObjectiveC.pdf)
* [Object-Oriented Programming with Objective-C](http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/OOP_ObjC/OOP_ObjC.pdf)
###OCaml
* [Introduction to Objective Caml](http://courses.cms.caltech.edu/cs134/cs134b/book.pdf) (PDF)
* [Objective Caml for Scientists (first chapter only)](http://www.ffconsultancy.com/products/ocaml_for_scientists/chapter1.html)
* [Unix System Programming in OCaml](http://ocamlunix.forge.ocamlcore.org/)
* [Developing Applications With Objective Caml](http://caml.inria.fr/pub/docs/oreilly-book/)
* [Real World OCaml](https://realworldocaml.org/beta3/en/html/)
* [Think OCaml](http://web.archive.org/web/20120307164444/http://www.thinkocaml.com/)
###OpenSCAD
* [OpenSCAD User Manual](http://en.wikibooks.org/wiki/OpenSCAD_User_Manual)
###Oracle Server
* Oracle's [Guides and Manuals](http://tahiti.oracle.com/)
###Oracle PL/SQL
* [PL/SQL Language Reference](http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/toc.htm)
* [PL/SQL Packages and Types Reference](http://download.oracle.com/docs/cd/E11882_01/appdev.112/e16760/toc.htm)
* [Steven Feuerstein's PL/SQL Obsession - Videos and Presentations](http://www.toadworld.com/Knowledge/DatabaseKnowledge/StevenFeuersteinsPLSQLObsession/tabid/153/Default.aspx)
###Parrot / Perl 6
* [Using Perl 6](http://github.com/perl6/book/) (work in progress)
###Perl
* [Beginning Perl](http://www.perl.org/books/beginning-perl/)
* [Embedding Perl in HTML with Mason](http://www.masonbook.com/book/)
* [Essential Perl](http://cslibrary.stanford.edu/108/EssentialPerl.pdf)
* [Extreme Perl](http://www.extremeperl.org/bk/home)
* [Higher-Order Perl](http://hop.perl.plover.com/book/)
* [The Mason Book](http://www.masonbook.com/book/)
* [Modern Perl 5](http://www.onyxneon.com/books/modern_perl/index.html)
* [Perl & LWP](http://lwp.interglacial.com/index.html)
* [Perl for the Web](http://www.globalspin.com/thebook/)
* [Perl Free Online EBooks](http://linkmingle.com/list/13-plus-List-of-Free-Great-Perl-Books-available-Online-freebooksandarticles) (meta-list)
* [Perl The Hard Way](http://www.greenteapress.com/perl/)
* [Practical mod_perl](http://modperlbook.org/)
* [Web Client Programming with Perl](http://oreilly.com/openbook/webclient/)
###PHP
* [PHP Essentials](http://www.techotopia.com/index.php/PHP_Essentials)
* [PHP: The Right Way](http://www.phptherightway.com/)
* [Practical PHP Programming](http://www.tuxradar.com/practicalphp) (wiki containing O'Reilly's *PHP In a Nutshell*)
* [Symfony2](http://symfony.com/doc/current/book/index.html)
* [Zend Framework: Survive the Deep End](http://www.survivethedeepend.com/)
* Laravel Framework
* [Official Documentation (Offline Version)](https://leanpub.com/l4-offline-doc)
* [Code Happy](http://codehappy.daylerees.com/) (Laravel 3 Starter Book)
* [Code Bright](http://codebright.daylerees.com/) (Laravel 4 Starter Book)
###PowerShell
* [Mastering PowerShell](http://powershell.com/cs/blogs/ebook/)
###Processing
* [The Nature of Code: Simulating Natural Systems with Processing](http://natureofcode.com/book/)
###Prolog
* [Adventure in Prolog](http://www.amzi.com/AdventureInProlog/advfrtop.htm)
* [Applications of Prolog](http://bookboon.com/int/student/it/applications-of-prolog)
* [Building Expert Systems in Prolog](http://www.amzi.com/ExpertSystemsInProlog/)
* [Introduction to Prolog for Mathematicians](http://www.j-paine.org/prolog/mathnotes/files/pms/pms.html)
* [Learn Prolog Now!](http://www.learnprolognow.org/)
* [Logic, Programming and Prolog (2ed)](http://www.ida.liu.se/~ulfni/lpp/)
* [Natural Language Processing in Prolog](http://www.informatics.susx.ac.uk/research/groups/nlp/gazdar/nlp-in-prolog/index.html)
* [Natural Language Processing Techniques in Prolog](http://cs.union.edu/~striegnk/courses/nlp-with-prolog/html/)
* [Prolog Programming A First Course](http://computing.unn.ac.uk/staff/cgpb4/prologbook/)
* [Prolog Techniques](http://bookboon.com/int/student/it/prolog-techniques-applications-of-prolog)
* [Simply Logical](http://www.cs.bris.ac.uk/~flach/SimplyLogical.html)
* [Visual Prolog 7.2 for Tyros](http://download.pdc.dk/vip/72/books/tyros/tyros72.pdf)
###PostgreSQL
* [Practical PostgreSQL](http://www.commandprompt.com/ppbook/)
###Python
* [Byte of Python](http://www.swaroopch.com/notes/Python)
* [Data Structures and Algorithms in Python](http://www.brpreiss.com/books/opus7/html/book.html)
* [Dive into Python](http://www.diveintopython.net/)
* [Dive into Python 3](http://getpython3.com/diveintopython3/)
* [Hacking Secret Cyphers with Python](http://inventwithpython.com/hacking/chapters/) - Al Sweigart
* [Hitchiker's Guide to Python!](http://docs.python-guide.org/en/latest/)
* [How to Think Like a Computer Scientist: Learning with Python](http://www.greenteapress.com/thinkpython/thinkCSpy/)
* [Invent Your Own Computer Games With Python](http://inventwithpython.com/chapters/) - Al Sweigart
* [Learn Python The Hard Way](http://learnpythonthehardway.org/book/)
* [Natural Language Processing with Python](http://www.nltk.org/book)
* [Porting to Python 3: An In-Depth Guide](http://python3porting.com/)
* [Python Bibliotheca](http://openbookproject.net/pybiblio/)
* [Python Cookbook](http://chimera.labs.oreilly.com/books/1230000000393/index.html) - David Beazley
* [Python for Fun](http://www.openbookproject.net/py4fun/)
* [Python for Informatics: Exploring Information](http://www.pythonlearn.com/book.php)
* [Python for you and me](http://pymbook.readthedocs.org/en/latest/)
* [Snake Wrangling For Kids](http://www.briggs.net.nz/snake-wrangling-for-kids.html)
* [Think Python](http://www.greenteapress.com/thinkpython/thinkpython.pdf) (PDF) - Allen B. Downey
###R
* [The R Manuals](http://cran.r-project.org/manuals.html)
* [The R Language](http://stat.ethz.ch/R-manual/R-patched/doc/html/)
* [R by example](http://www.mayin.org/ajayshah/KB/R/index.html)
* [Introduction to Probability and Statistics Using R](http://cran.r-project.org/web/packages/IPSUR/vignettes/IPSUR.pdf)
* [Advanced R Programming](http://adv-r.had.co.nz/)
###Racket
* [Programming Languages: Application and Interpretation](http://cs.brown.edu/courses/cs173/2012/book/index.html)
* [The Racket Guide](http://docs.racket-lang.org/guide/index.html)
###Ruby
* [The Bastards Book of Ruby](http://ruby.bastardsbook.com/)
* [Learn Ruby the hard way](http://ruby.learncodethehardway.org/book/)
* [MacRuby: The Definitive Guide](http://macruby.labs.oreilly.com/)
* [Mr. Neighborly's Humble Little Ruby Book](http://www.humblelittlerubybook.com/)
* [Programming Ruby](http://www.ruby-doc.org/docs/ProgrammingRuby/)
* [Why's (Poignant) Guide to Ruby](http://mislav.uniqpath.com/poignant-guide/) ([mirror](http://www.scribd.com/doc/2236084/Whys-Poignant-Guide-to-Ruby))
* [Ruby Hacking Guide](http://ruby-hacking-guide.github.io/)
###Ruby on Rails
* [Ruby on Rails Tutorial: Learn Rails By Example](http://ruby.railstutorial.org/ruby-on-rails-tutorial-book)
* [Objects on Rails](http://objectsonrails.com)
###Rust
* [Rust for Rubyists](http://www.rustforrubyists.com/book/index.html)
###Sage
* [The Sage Manuals](http://sagemath.org/doc/)
* [Sage for Newbies](http://sage.math.washington.edu/home/tkosan/newbies_book/)
###Scala
* [Another tour of Scala](http://naildrivin5.com/scalatour)
* [Exploring Lift](http://exploring.liftweb.net/) (published earlier as "The Definitive Guide to Lift", [PDF](http://groups.google.com/group/the-lift-book))
* [Lift](http://github.com/tjweir/liftbook)
* [Pro Scala: Monadic Design Patterns for the Web](http://github.com/leithaus/XTrace/tree/monadic/src/main/book/content/)
* [Programming in Scala, First Edition](http://www.artima.com/pins1ed/)
* [Programming Scala](http://programming-scala.labs.oreilly.com/index.html)
* [Scala By Example](http://www.scala-lang.org/docu/files/ScalaByExample.pdf) (PDF)
* [Scala School by Twitter](http://twitter.github.io/scala_school/)
* [A Scala Tutorial for Java programmers](http://www.scala-lang.org/docu/files/ScalaTutorial.pdf) (PDF)
* [Xtrace](http://github.com/leithaus/XTrace/tree/monadic/src/main/book/content/)
###Scheme
* [Concrete Abstractions: An Introduction to Computer Science Using Scheme](https://gustavus.edu/+max/concrete-abstractions.html)
* The Scheme Programming Language [Edition 3](http://www.scheme.com/tspl3/), [Edition 4](http://www.scheme.com/tspl4/)
* [Simply Scheme: Introducing Computer Science](http://www.cs.berkeley.edu/~bh/ss-toc2.html)
* [Teach Yourself Scheme in Fixnum Days](http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html)
###Sed
* [Sed - An Introduction and Tutorial](http://www.grymoire.com/Unix/Sed.html)
###Smalltalk
* [Dynamic Web Development with Seaside](http://book.seaside.st/book/table-of-contents)
* [Free Online Smalltalk Books](http://stephane.ducasse.free.fr/FreeBooks.html) (meta-list)
* [Squeak By Example](http://www.squeakbyexample.org/) (Smalltalk IDE)
###Subversion
* [Subversion Version Control](http://www.phptr.com/content/images/0131855182/downloads/Nagel_book.pdf) (PDF)
* [Version Control with Subversion](http://svnbook.red-bean.com/)
###SQL (implementation agnostic)
* [Developing Time-Oriented Database Applications in SQL](http://www.cs.arizona.edu/people/rts/publications.html)
* [Use The Index, Luke!: A Guide To SQL Database Performance](http://use-the-index-luke.com/)
* [Learn SQL The Hard Way](http://sql.learncodethehardway.org/)
###Teradata
* [Teradata Books](http://www.info.teradata.com/)
###Theory
* [Networks, Crowds, and Markets: Reasoning About a Highly Connected World](http://www.cs.cornell.edu/home/kleinber/networks-book/)
###Vim
* [A Byte of Vim](http://www.swaroopch.com/notes/Vim)
* [Vim Recipes](http://ebooksgo.org/computer/vim-recipes.pdf)
* [Vi Improved -- Vim](http://www.truth.sk/vim/vimbook-OPL.pdf) by Steve Oualline
* [Learn Vimscript the Hard Way](http://learnvimscriptthehardway.stevelosh.com/)
###Websphere
* [Getting started with WebSphere](http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_WASCE_p2.pdf) (PDF)
###Windows Phone
* [Programming Windows Phone 7](http://blogs.msdn.com/b/microsoft_press/archive/2010/10/28/free-ebook-programming-windows-phone-7-by-charles-petzold.aspx)