1
0
mirror of https://github.com/namibia/free-programming-books.git synced 2024-06-12 19:12:21 +00:00
programming-books/free-programming-books.md
2013-10-15 13:20:13 +02:00

843 lines
40 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

###Index
* [Meta-Lists](#meta-lists)
* [Graphics user interfaces](#graphics-user-interfaces)
* [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)
* [Backbone.js](#backbonejs)
* [D3.js](#d3js)
* [Node.js](#nodejs)
* [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/)
###Graphics User Interfaces
* [Programming with gtkmm 3](https://developer.gnome.org/gtkmm-tutorial/stable/)
###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)
* [Introduction to Computing](http://www.computingbook.org/)
* [Algorithms for Programmers: Ideas and Source Code](http://www.jjj.de/fxt/fxtbook.pdf)
* [Sequential and parallel sorting algorithms](http://www.inf.fh-flensburg.de/lang/algorithmen/sortieren/algoen.htm)
* [Text Algorithms](http://igm.univ-mlv.fr/~mac/REC/text-algorithms.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)
####Machine Learning
* [Programming Computer Vision with Python](https://github.com/dolaameng/free-programming-books.git)
* [A Course in Machine Learning](http://hackershelf.com/book/492/a-course-in-machine-learning/)
* [Bayesian Methods for Hackers](http://hackershelf.com/book/455/bayesian-methods-for-hackers/)
* [Computer Vision: Algorithms and Applications](http://hackershelf.com/book/134/computer-vision-algorithms-and-applications/)
* [Bayesian Reasoning and Machine Learning](http://web4.cs.ucl.ac.uk/staff/D.Barber/pmwiki/pmwiki.php?n=Brml.HomePage)
* [Introduction to Machine Learning](http://alex.smola.org/drafts/thebook.pdf)
* [Gaussian Processes for Machine Learning](http://www.gaussianprocess.org/gpml/)
####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/) (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
* [Object-Oriented Reengineering Patterns](http://win.ua.ac.be/~sdemey/) - Serge Demeyer, Stéphane Ducasse and Oscar Nierstrasz
* [High-Performance Scientific Computing](http://bit.ly/hpc12) (class lectures and slides)
####MOOC
* [MIT OCW](http://ocw.mit.edu/OcwWeb/web/home/home/index.htm)
* [Coursera](https://www.coursera.org/)
* [Udacity](https://www.udacity.com/)
###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/)
* [Expert Android and Eclipse development knowledge](http://www.vogella.com/android.html)
###Autotools
* [GNU Autoconf, Automake and Libtool](http://sourceware.org/autobook/)
* [Autotools Mythbuster](https://www.flameeyes.eu/autotools-mythbuster/)
###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)
* [How To Think Like a Computer Scientist: C++ Version](http://greenteapress.com/thinkcpp/index.html) - Allen B. Downey
* Also see: [The Definitive C++ Book Guide and List](http://stackoverflow.com/q/388242/511601)
###Clojure
* [A Brief Beginners Guide To Clojure](http://www.unexpected-vortices.com/clojure/brief-beginners-guide/)
* [Clojure - Functional Programming for the JVM](http://java.ociweb.com/mark/clojure/article.html)
* [Clojure Cookbook](https://github.com/clojure-cookbook/clojure-cookbook)
* [Clojure for the Brave and True](http://www.braveclojure.com/)
* [Clojure Programming](http://en.wikibooks.org/wiki/Clojure_Programming)
* [The Clojure Style Guide](https://github.com/bbatsov/clojure-style-guide)
* [Data Sorcery with Clojure](http://data-sorcery.org/contents/)
* [Modern cljs](https://github.com/magomimmo/modern-cljs)
###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)
* [Gitmagic](http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html)
* [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/)
* [A Gentle Introduction to Haskell](http://www.haskell.org/tutorial/) (HTML/PDF)
###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)
* [Data Structures and Algorithms with Object-Oriented Design Patterns in Java](http://www.brpreiss.com/books/opus5/html/page9.html)
* [Category wise tutorials - J2EE](http://www.mkyong.com/)
* [Think Java: How to Think Like a Computer Scientist](http://greenteapress.com/thinkapjava/) - Allen B. Downey
* [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/blog/essentialjsdesignpatterns/)
* [Developing Backbone.js Applications](http://addyosmani.github.io/backbone-fundamentals/)
* [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/)
* [AngularJS in 60 Minutes](http://fastandfluid.com/publicdownloads/AngularJSIn60MinutesIsh_DanWahlin_May2013.pdf)
####Backbone.js
* [Developing Backbone.js Applications](http://addyosmani.github.io/backbone-fundamentals/)
####D3.js
* [Interactive Data Visualization for the Web](http://chimera.labs.oreilly.com/books/1230000000345/index.html)
####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/)
###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://greenteapress.com/thinkocaml/index.html) - Allen B. Downey and Nicholas Monje
###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)
* [Learning 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)
* [PHP Internals Book](http://www.phpinternalsbook.com/)
###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/) - 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/)
* [R practicals](http://www.columbia.edu/~cjd11/charles_dimaggio/DIRE/resources/R/practicalsBookNoAns.pdf)
* [R for spatial analysis](http://www.columbia.edu/~cjd11/charles_dimaggio/DIRE/resources/spatialEpiBook.pdf)
###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/)
* [Sage for Power Users](http://modular.math.washington.edu/books/sagebook/sagebook.pdf)
###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)