Note that there are some explanatory texts on larger screens.

plurals
  1. POLanguage Books/Tutorials for popular languages
    text
    copied!<p>It wasn't that long ago that I was a beginning coder, trying to find good books/tutorials on languages I wanted to learn. Even still, there are times I need to pick up a language relatively quickly for a new project I am working on. The point of this post is to document some of the best tutorials and books for these languages. I will start the list with the best I can find, but hope you guys out there can help with better suggestions/new languages. Here is what I found:</p> <p><em>Since this is now wiki editable, I am giving control up to the community. If you have a suggestion, please put it in this section. I decided to also add a section for general be a better programmer books and online references as well. Once again, all recommendations are welcome.</em></p> <h2>General Programming</h2> <p><strong>Online Tutorials</strong><br> <a href="http://codebetter.com/blogs/karlseguin/archive/2008/06/24/foundations-of-programming-ebook.aspx" rel="nofollow noreferrer">Foundations of Programming</a> By Karl Seguin - From Codebetter, its C# based but the ideas ring true across the board, can't believe no-one's posted this yet actually.<br /> <a href="http://freeworld.thc.org/root/phun/unmaintain.html" rel="nofollow noreferrer">How to Write Unmaintainable Code</a> - An anti manual that teaches you how to write code in the most unmaintable way possible. It would be funny if a lot of these suggestions didn't ring so true.<br> <a href="http://en.wikibooks.org/wiki/Wikibooks:Programming_languages_bookshelf" rel="nofollow noreferrer">The Programming Section of Wiki Books</a> - suggested by Jim Robert as having a large amount of books/tutorials on multiple languages in various stages of completion<br> <a href="http://basics.wefoundland.com/" rel="nofollow noreferrer">Just the Basics</a> To get a feel for a language.</p> <p><strong>Books</strong><br> <a href="http://rads.stackoverflow.com/amzn/click/0735619670" rel="nofollow noreferrer">Code Complete</a> - This book goes without saying, it is truely brilliant in too many ways to mention.<br> <a href="http://rads.stackoverflow.com/amzn/click/020161622X" rel="nofollow noreferrer">The Pragmatic Programmer</a> - The next best thing to working with a master coder, teaching you everything they know.<br> <a href="http://rads.stackoverflow.com/amzn/click/0596528124" rel="nofollow noreferrer">Mastering Regular Expressions</a> - Regular Expressions are an essential tool in every programmer's toolbox. This book, recommended by Patrick Lozzi is a great way to learn what they are capable of.<br> Algorithms in <a href="http://rads.stackoverflow.com/amzn/click/0201756080" rel="nofollow noreferrer">C</a>, <a href="http://rads.stackoverflow.com/amzn/click/020172684X" rel="nofollow noreferrer">C++</a>, and <a href="http://rads.stackoverflow.com/amzn/click/0201775786" rel="nofollow noreferrer">Java</a> - A great way to learn all the classic algorithms if you find Knuth's books a bit too in depth.</p> <h2>C</h2> <p><strong>Online Tutorials</strong><br> <a href="http://www.physics.drexel.edu/students/courses/Comp_Phys/General/C_basics/" rel="nofollow noreferrer">This</a> tutorial seems to pretty consise and thourough, looked over the material and seems to be pretty good. Not sure how friendly it would be to new programmers though.<br> <strong>Books</strong><br> <a href="http://rads.stackoverflow.com/amzn/click/0131103628" rel="nofollow noreferrer">K&amp;R C</a> - a classic for sure. It might be argued that all programmers should read it.<br> <a href="http://rads.stackoverflow.com/amzn/click/0672326965" rel="nofollow noreferrer">C Primer Plus</a> - Suggested by Imran as being the ultimate C book for beginning programmers.<br> <a href="http://rads.stackoverflow.com/amzn/click/013089592X" rel="nofollow noreferrer">C: A Reference Manual</a> - A great reference recommended by Patrick Lozzi.</p> <h2>C++</h2> <p><strong>Online Tutorials</strong><br> The tutorial on <a href="http://www.cplusplus.com/doc/tutorial/" rel="nofollow noreferrer">cplusplus.com</a> seems to be the most complete. I found another tutorial <a href="http://www.intap.net/~drw/cpp/" rel="nofollow noreferrer">here</a> but it doesn't include topics like polymorphism, which I believe is essential. If you are coming from C, <a href="http://www.4p8.com/eric.brasseur/cppcen.html" rel="nofollow noreferrer">this</a> tutorial might be the best for you. </p> <p>Another useful tutorial, <a href="http://www.icce.rug.nl/documents/cplusplus/" rel="nofollow noreferrer">C++ Annotation</a>. In Ubuntu family you can get the ebook on multiple format(pdf, txt, Postscript, and LaTex) by installing <code>c++-annotation</code> package from Synaptic(installed package can be found in <code>/usr/share/doc/c++-annotation/</code>.</p> <p><strong>Books</strong><br> <a href="http://rads.stackoverflow.com/amzn/click/0201700735" rel="nofollow noreferrer">The C++ Programming Language</a> - crucial for any C++ programmer.<br> <a href="http://rads.stackoverflow.com/amzn/click/0672326973" rel="nofollow noreferrer">C++ Primer Plus</a> - Orginally added as a typo, but the amazon reviews are so good, I am going to keep it here until someone says it is a dud.<br> <a href="http://rads.stackoverflow.com/amzn/click/0321334876" rel="nofollow noreferrer">Effective C++</a> - Ways to improve your C++ programs.<br> <a href="http://rads.stackoverflow.com/amzn/click/020163371X" rel="nofollow noreferrer">More Effective C++</a> - Continuation of Effective C++.<br> <a href="http://rads.stackoverflow.com/amzn/click/0201749629" rel="nofollow noreferrer">Effective STL</a> - Ways to improve your use of the STL. <br> <a href="http://rads.stackoverflow.com/amzn/click/0139798099" rel="nofollow noreferrer">Thinking in C++</a> - Great book, both volumes. Written by Bruce Eckel and Chuck Ellison. <br> <a href="http://rads.stackoverflow.com/amzn/click/0321543726" rel="nofollow noreferrer">Programming: Principles and Practice Using C++</a> - Stroustrup's introduction to C++. <br> <a href="http://rads.stackoverflow.com/amzn/click/020170353X" rel="nofollow noreferrer">Accelerated C++</a> - Andy Koenig and Barbara Moo - An excellent introduction to C++ that doesn't treat C++ as "C with extra bits bolted on", in fact you dive straight in and start using STL early on.</p> <h2>Forth</h2> <p><strong>Books</strong><br> FORTH, a text and reference. Mahlon G. Kelly and Nicholas Spies. ISBN 0-13-326349-5 / ISBN 0-13-326331-2. 1986 Prentice-Hall. Leo Brodie's books are good but this book is even better. For instance it covers defining words and the interpreter in depth.</p> <h2>Java</h2> <p><strong>Online Tutorials</strong><br> <a href="http://java.sun.com/docs/books/tutorial/" rel="nofollow noreferrer">Sun's Java Tutorials</a> - An official tutorial that seems thourough, but I am not a java expert. You guys know of any better ones?<br> <strong>Books</strong><br> <a href="http://rads.stackoverflow.com/amzn/click/0596009208" rel="nofollow noreferrer">Head First Java</a> - Recommended as a great introductory text by Patrick Lozzi.<br> <a href="http://rads.stackoverflow.com/amzn/click/0321356683" rel="nofollow noreferrer">Effective Java</a> - Recommended by pek as a great intermediate text.<br> <a href="http://rads.stackoverflow.com/amzn/click/0132354764" rel="nofollow noreferrer">Core Java Volume 1</a> and <a href="http://rads.stackoverflow.com/amzn/click/0132354799" rel="nofollow noreferrer">Core Java Volume 2</a> - Suggested by FreeMemory as some of the best java references available.<br> <a href="http://rads.stackoverflow.com/amzn/click/0321349601" rel="nofollow noreferrer">Java Concurrency in Practice</a> - Recommended by MDC as great resource for concurrent programming in Java.</p> <p><a href="http://rads.stackoverflow.com/amzn/click/0321349806" rel="nofollow noreferrer">The Java Programing Language</a></p> <h2>Python</h2> <p><strong>Online Tutorials</strong><br> <a href="http://www.python.org/doc/" rel="nofollow noreferrer">Python.org</a> - The online documentation for this language is pretty good. If you know of any better let me know.<br> <a href="http://diveintopython3.ep.io/" rel="nofollow noreferrer">Dive Into Python</a> - Suggested by Nickola. Seems to be a python book online.</p> <h2>Perl</h2> <p><strong>Online Tutorials</strong><br> <a href="http://perldoc.perl.org/perl.html" rel="nofollow noreferrer">perldoc perl</a> - This is how I personally got started with the language, and I don't think you will be able to beat it.<br> <strong>Books</strong><br> <a href="http://oreilly.com/catalog/9780596520106/" rel="nofollow noreferrer">Learning Perl</a> - a great way to introduce yourself to the language.<br> <a href="http://oreilly.com/catalog/9780596000271/" rel="nofollow noreferrer">Programming Perl</a> - greatly referred to as the Perl Bible. Essential reference for any serious perl programmer.<br> <a href="http://oreilly.com/catalog/9780596003135/" rel="nofollow noreferrer">Perl Cookbook</a> - A great book that has solutions to many common problems.<br> <a href="http://onyxneon.com/books/modern_perl/" rel="nofollow noreferrer">Modern Perl Programming</a> - newly released, contains the latest wisdom on modern techniques and tools, including Moose and DBIx::Class.</p> <h2>Ruby</h2> <p><strong>Online Tutorials</strong><br> Adam Mika suggested <a href="http://poignantguide.net/ruby/" rel="nofollow noreferrer">Why's (Poignant) Guide to Ruby</a> but after taking a look at it, I don't know if it is for everyone. Found <a href="http://www.digitalmediaminute.com/article/1816/top-ruby-on-rails-tutorials" rel="nofollow noreferrer">this</a> site which seems to offer several tutorials for Ruby on Rails.<br> <strong>Books</strong><br> <a href="http://rads.stackoverflow.com/amzn/click/0974514055" rel="nofollow noreferrer">Programming Ruby</a> - suggested as a great reference for all things ruby.</p> <h2>Visual Basic</h2> <p><strong>Online Tutorials</strong><br> Found <a href="http://www.vb6.us/" rel="nofollow noreferrer">this</a> site which seems to devote itself to visual basic tutorials. Not sure how good they are though.</p> <h2>PHP</h2> <p><strong>Online Tutorials</strong><br> <a href="http://us3.php.net/tut.php" rel="nofollow noreferrer">The main PHP site</a> - A simple tutorial that allows user comments for each page, which I really like. <a href="http://www.phpfreaks.com/tutorials" rel="nofollow noreferrer">PHPFreaks Tutorials</a> - Various tutorials of different difficulty lengths.<br> <a href="http://tut.php-quake.net/en/" rel="nofollow noreferrer">Quakenet/PHP tutorials</a> - PHP tutorial that will guide you from ground up.</p> <h2>JavaScript</h2> <p><strong>Online Tutorials</strong><br> Found a decent tutorial <a href="http://www.webteacher.com/javascript/" rel="nofollow noreferrer">here</a> geared toward non-programmers. Found another more advanced one <a href="http://www.tizag.com/javascriptT/" rel="nofollow noreferrer">here</a>. Nickolay suggested <a href="http://developer.mozilla.org/en/A_re-introduction_to_JavaScript" rel="nofollow noreferrer">A reintroduction to javascript</a> as a good read here.</p> <p><strong>Books</strong><br> <a href="http://headfirstlabs.com/books/hfjs/" rel="nofollow noreferrer">Head first JavaScript</a><br> <a href="http://oreilly.com/catalog/9780596517748/" rel="nofollow noreferrer">JavaScript: The Good Parts</a> (with a <a href="http://www.youtube.com/watch?v=hQVTIJBZook" rel="nofollow noreferrer">Google Tech Talk video</a> by the author) </p> <h2>C#</h2> <p><strong>Online Tutorials</strong><br> <a href="http://www.csharp-station.com/Tutorial.aspx" rel="nofollow noreferrer">C# Station Tutorial</a> - Seems to be a decent tutorial that I dug up, but I am not a C# guy.<br> <a href="http://www.ecma-international.org/publications/standards/Ecma-334.htm" rel="nofollow noreferrer">C# Language Specification</a> - Suggested by tamberg. Not really a tutorial, but a great reference on all the elements of C#<br> <strong>Books</strong><br> <a href="http://rads.stackoverflow.com/amzn/click/2021271913" rel="nofollow noreferrer">C# to the point</a> - suggested by tamberg as a short text that explains the language in amazing depth</p> <h2>ocaml</h2> <p><strong>Books</strong><br> nlucaroni suggested the following:<br> <a href="http://www.ffconsultancy.com/products/ocaml_for_scientists/?so" rel="nofollow noreferrer">OCaml for Scientists</a> <a href="http://www.seas.upenn.edu/~cis500/cis500-f02/resources/ocaml-intro.pdf" rel="nofollow noreferrer">Introduction to ocaml</a><br> <a href="http://caml.inria.fr/pub/docs/u3-ocaml/index.html" rel="nofollow noreferrer">Using Understand and unraveling ocaml: practice to theory and vice versa</a><br> <a href="http://caml.inria.fr/pub/docs/oreilly-book/" rel="nofollow noreferrer">Developing Applications using Ocaml - O'Reilly</a><br> <a href="http://caml.inria.fr/pub/docs/manual-ocaml/index.html" rel="nofollow noreferrer">The Objective Caml System - Official Manua</a> </p> <h2>Haskell</h2> <p><strong>Online Tutorials</strong><br> nlucaroni suggested the following:<br> <a href="http://www-128.ibm.com/developerworks/java/library/j-cb07186.html?ca=dgr-lnxw07Haskell" rel="nofollow noreferrer">Explore functional programming with Haskell</a><br> <strong>Books</strong><br> <a href="http://book.realworldhaskell.org/" rel="nofollow noreferrer">Real World Haskell</a><br> <a href="http://www.cs.mdx.ac.uk/staffpages/dat/sblp1.pdf" rel="nofollow noreferrer">Total Functional Programming</a> </p> <h2>LISP/Scheme</h2> <p><strong>Books</strong><br> wfarr suggested the following:<br> <a href="http://rads.stackoverflow.com/amzn/click/0262560992" rel="nofollow noreferrer">The Little Schemer</a> - Introduction to Scheme and functional programming in general<br> <a href="http://rads.stackoverflow.com/amzn/click/026256100X" rel="nofollow noreferrer">The Seasoned Schemer</a> - Followup to Little Schemer.<br> <a href="http://rads.stackoverflow.com/amzn/click/0262011530" rel="nofollow noreferrer">Structure and Interpretation of Computer Programs</a> - The definitive book on Lisp (also <a href="http://mitpress.mit.edu/sicp/" rel="nofollow noreferrer">available online</a>).<br> <a href="http://www.gigamonkeys.com/book/" rel="nofollow noreferrer">Practical Common Lisp</a> - A good introduction to Lisp with several examples of practical use.<br> <a href="http://rads.stackoverflow.com/amzn/click/0130305529" rel="nofollow noreferrer">On Lisp</a> - Advanced Topics in Lisp<br> <a href="http://www.htdp.org/" rel="nofollow noreferrer">How to Design Programs</a> - An Introduction to Computing and Programming<br> <a href="http://rads.stackoverflow.com/amzn/click/1558601910" rel="nofollow noreferrer">Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp</a> - an approach to high quality Lisp programming</p> <p>What about you guys? Am I totally off on some of there? Did I leave out your favorite language? I will take the best comments and modify the question with the suggestions.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload