![Java Java](/uploads/1/2/5/3/125371590/897223131.jpg)
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: 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.
Jump to The Java Language Specification, Java SE 8 - Download PDF. Every Java programmer should have this book as the official reference.
Once again, all recommendations are welcome. General Programming Online Tutorials 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. 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. suggested by Jim Robert as having a large amount of books/tutorials on multiple languages in various stages of completion To get a feel for a language.
Books - This book goes without saying, it is truely brilliant in too many ways to mention. The next best thing to working with a master coder, teaching you everything they know. 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.
Algorithms in, and - A great way to learn all the classic algorithms if you find Knuth's books a bit too in depth. C Online Tutorials 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. Books - a classic for sure. It might be argued that all programmers should read it.
Suggested by Imran as being the ultimate C book for beginning programmers. A great reference recommended by Patrick Lozzi. C Online Tutorials The tutorial on seems to be the most complete. I found another tutorial but it doesn't include topics like polymorphism, which I believe is essential. If you are coming from C, tutorial might be the best for you. Another useful tutorial,. In Ubuntu family you can get the ebook on multiple format(pdf, txt, Postscript, and LaTex) by installing c-annotation package from Synaptic(installed package can be found in /usr/share/doc/c-annotation/.
Books - crucial for any C programmer. 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. Ways to improve your C programs. Continuation of Effective C. Ways to improve your use of the STL. Great book, both volumes.
Written by Bruce Eckel and Chuck Ellison. Stroustrup's introduction to C. 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. Forth Books FORTH, a text and reference.
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. Java Online Tutorials - An official tutorial that seems thourough, but I am not a java expert. You guys know of any better ones? Books - Recommended as a great introductory text by Patrick Lozzi. Recommended by pek as a great intermediate text. And - Suggested by FreeMemory as some of the best java references available.
Recommended by MDC as great resource for concurrent programming in Java. Python Online Tutorials - The online documentation for this language is pretty good. If you know of any better let me know. Suggested by Nickola. Seems to be a python book online.
Perl Online Tutorials - This is how I personally got started with the language, and I don't think you will be able to beat it. Books - a great way to introduce yourself to the language. greatly referred to as the Perl Bible. Essential reference for any serious perl programmer. A great book that has solutions to many common problems.
newly released, contains the latest wisdom on modern techniques and tools, including Moose and DBIx::Class. Ruby Online Tutorials Adam Mika suggested but after taking a look at it, I don't know if it is for everyone. Found site which seems to offer several tutorials for Ruby on Rails. Books - suggested as a great reference for all things ruby.
Visual Basic Online Tutorials Found site which seems to devote itself to visual basic tutorials. Not sure how good they are though. PHP Online Tutorials - A simple tutorial that allows user comments for each page, which I really like. Various tutorials of different difficulty lengths. PHP tutorial that will guide you from ground up.
JavaScript Online Tutorials Found a decent tutorial geared toward non-programmers. Found another more advanced one.
Nickolay suggested as a good read here. Books (with a by the author) C# Online Tutorials - Seems to be a decent tutorial that I dug up, but I am not a C# guy. Suggested by tamberg.
Not really a tutorial, but a great reference on all the elements of C# Books - suggested by tamberg as a short text that explains the language in amazing depth ocaml Books nlucaroni suggested the following: Haskell Online Tutorials nlucaroni suggested the following: Books LISP/Scheme Books wfarr suggested the following: - Introduction to Scheme and functional programming in general - Followup to Little Schemer. The definitive book on Lisp (also ). A good introduction to Lisp with several examples of practical use.
Advanced Topics in Lisp - An Introduction to Computing and Programming - an approach to high quality Lisp programming 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. I know this is going to seem old-fashioned, but I don't think much of using online tutorials to learn programming languages or platforms.
These generally give you no more than a little taste of the language. To really learn a language, you need the equivalent of a 'book', and in many cases, this means a real dead-tree book. If you want to learn C, read K&R. If you want to learn C, read Stroustrup. If you want to learn Lisp/Scheme, read SICP.
If you're not willing to spend more than $30 and a few hours to learn a language, you probably aren't going to learn it. Haskell: O'Reilly Book:., a great tutorial-oriented book on Haskell, available and in print.
My favorite general, less academic online tutorials:. which contains all of the excellent Yet Another Haskell Tutorial. (This tutorial helps with specifics of setting up a Haskell distro and running example programs, for example.)., in the spirit of Why's Poignant Guide to Ruby but more to the point. Get your hands dirty learning Haskell with a real project. Books on Functional Programming with Haskell:.
Lambda calculus, combinators, more theoretical, but in a very down to earth manner:. Laziness and program correctness, thinking functionally. C -Obviously I had to reference K&R, one of the best programming books out there full stop. C -This clear, well written introduction to C goes straight to using the STL and gives nice, clear, practical examples.
Lives up to its name. C# -Bit of a mouthful but wonderfully written and huge depth.
F# -Designed to take experienced programmers from zero to expert in F#. Very well written, one of the author's invented F# so you can't go far wrong!. Scheme -Really unique approach to teaching a programming language done really well. Ruby -Affectionately known as the 'pick axe' book, this is THE defacto introduction to Ruby. Very well written, clear and detailed. Let's not forget, which could be considered the essential first step in this language or maybe the step after the online tutorials by Sun. It's great for the purpose of grasping the language concisely, while adding a bit of fun, serving as a stepping stone for the more in-depth books already mentioned.
Sedgewick offers great series on Algorithms which are a must-have if you find Knuth's books to be too in-depth. Knuth aside, Sedgewick brings a solid approach to the field and he offers his books in,. The C books could be used backwardly on C since he doesn't make a very large distinction between the two languages in his presentation. Whenever I'm working on C, goes with me everywhere.
It's concise and efficient while being extremely thorough making it priceless(to me anyways). Languages aside, and if this thread is to become a go-to for references in which I think it's heading that way due to the number of solid contributions, please include, for reasons I think most of us are aware of. Some would also say that regex can be considered a language in its own right. Further, its usefulness in a wide array of languages makes it invaluable.