mirror of
https://github.com/EbookFoundation/free-programming-books.git
synced 2024-12-24 12:25:33 +00:00
735 lines
34 KiB
Markdown
735 lines
34 KiB
Markdown
###Index
|
|
* [Meta-Lists](#meta-lists)
|
|
* [Graphics Programming](#graphics-programming)
|
|
* [Language Agnostic](#language-agnostic)
|
|
* [Android](#android)
|
|
* [Autotools](#autotools)
|
|
* [ASP.NET MVC](#aspnet-mvc)
|
|
* [Assembly Language](#assembly-language)
|
|
* [Bash](#bash)
|
|
* [C / C++](#c--c)
|
|
* [Clojure](#clojure)
|
|
* [CoffeeScript](#coffeescript)
|
|
* [ColdFusion](#coldfusion)
|
|
* [D / DTrace](#d--dtrace)
|
|
* [DB2](#db2)
|
|
* [Delphi / Pascal](#delphi--pascal)
|
|
* [Django](#django)
|
|
* [Elasticsearch](#elasticsearch)
|
|
* [Emacs](#emacs)
|
|
* [Erlang](#erlang)
|
|
* [Flex](#flex)
|
|
* [F#](#f-sharp)
|
|
* [Forth](#forth)
|
|
* [Git](#git)
|
|
* [Go](#go)
|
|
* [Grails](#grails)
|
|
* [Hadoop](#hadoop)
|
|
* [Haskell](#haskell)
|
|
* [HTML / CSS](#html--css)
|
|
* [Icon](#icon)
|
|
* [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)
|
|
* [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/)
|
|
|
|
|
|
###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-old.oberon.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/)
|
|
|
|
####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)
|
|
* [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)
|
|
|
|
####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)
|
|
|
|
|
|
###Android
|
|
|
|
|
|
###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/)
|
|
* [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/)
|
|
|
|
|
|
###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 / C++
|
|
|
|
* [Beej's Guide to Network Programming](http://beej.us/guide/bgnet/)
|
|
* [Beej's Guide to C Programming](http://beej.us/guide/bgc/)
|
|
* [The C book](http://publications.gbdirect.co.uk/c_book/)
|
|
* [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/)
|
|
* [Essential C](http://cslibrary.stanford.edu/101/EssentialC.pdf)
|
|
* [Learn C the hard way](http://c.learncodethehardway.org/book/)
|
|
* [Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt](http://www.jjj.de/fxt/fxtbook.pdf)
|
|
* [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)
|
|
* [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/)
|
|
|
|
|
|
###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)
|
|
|
|
###D / 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/)
|
|
|
|
|
|
###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
|
|
|
|
* [The F# Survival Guide](http://www.ctocorner.com/fsharp/book/ch0.aspx)
|
|
* [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/)
|
|
|
|
|
|
###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)
|
|
|
|
|
|
###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
|
|
|
|
* [Learn You a Haskell](http://learnyouahaskell.com/)
|
|
* [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)
|
|
* [Parallel and Concurrent Programming in Haskell](http://chimera.labs.oreilly.com/books/1230000000929)
|
|
|
|
|
|
###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)
|
|
|
|
|
|
###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 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)
|
|
|
|
####Node.js
|
|
|
|
* [Up and Running with Node](http://ofps.oreilly.com/titles/9781449398583/)
|
|
* [The Node Beginner Book](http://nodebeginner.org/)
|
|
* [Mastering Node.js](http://visionmedia.github.com/masteringnode/)
|
|
* [Mixu's Node Book](http://book.mixu.net/node/)
|
|
|
|
####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)
|
|
|
|
|
|
###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/)
|
|
|
|
|
|
###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)
|
|
|
|
|
|
###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/)
|
|
|
|
|
|
###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)
|
|
* [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
|
|
* [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)
|
|
* [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)
|
|
|
|
|
|
###Racket
|
|
* [Programming Languages: Application and Interpretation](http://cs.brown.edu/courses/cs173/2012/book/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 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)
|
|
|
|
|
|
###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)
|