With Android being at the forefront of mobile phone use and growing every day, Java has enjoyed a great deal of popularity as a language that’s very handy to know in today’s IT world. Unfortunately, it is not always so easy to figure out which books are best for learning Java, so we’ve taken the liberty of choosing a few that we think will make your Java learning experience smooth and enjoyable!
Effective JavaBy Joshua Bloch
In Effective Java, Joshua Bloch does one thing extremely, extremely well: he lays out best practices that every developer should follow regularly. The whole book has a theme of creating immutable code, and his insistence on it as well as solid examples are on the whole quite stunning. In short, following the best practices in this book will definitely help you become a better programmer simply by writing better and safer Java code.
The book’s audience is definitely not beginners, and if you have never picked up a Java book before or know nothing about Java programming then this book is definitely not for you. Many of the practices and examples in the book depend on a pretty solid foundation of Java, and beginners are going to get lost in all the code. If you’re already a Java developer looking for a book that will give you tools to write better code, however, then this book comes highly recommended and absolutely deserves a spot on your tech shelf!
Head First JavaBy Kathy Sierra & Burt Bates
Many of the books out there on learning Java seem more like esoteric tomes than learning books: you need to spend hours poring over dense prose explaining abstract concepts that you just can’t wrap your head around. Head First Java is absolutely nothing like that: Kathy Sierra and Burt Bates understand how difficult Java can be, and far and away succeeded at creating a book that teaches Java in an informative and engaging fashion, and isn’t just another boring book that doesn’t help the reader retain critical information.
For starters, the book is actually entertaining: there are short stories, mock interviews, games, and other fun things that help teach you Java. Far from being silly or unproductive, they are actually quite helpful: they all teach Java in a very good way, and they actually explain complex things like multiple inheritance very well. It’s the best learning Java book I’ve seen in a long time, and if you’re a beginner to Java programming, then know this: Head First Java is a great choice for anyone looking to break into Java programming, and it definitely deserves a spot on your shelf!
Java: How To ProgramBy Paul Deitel & Harvey Deitel
Java: How to Program is an interesting book for intermediate Java programmers, as it occupies a space in-between complete beginner and advanced expert. The book is easy and unassuming: the topics in each chapter are presented in such a way that you don’t feel the authors are making an assumption towards your knowledge of Java programming. The chapters cover what they need to cover, and they emphasize and repeat concepts without making it too dull or banal; it definitely has something for both beginner and intermediate programmers (and clocks in at about 1500 pages!).
The book has detailed and easy-to-read code snippets and samples, and the GUI case studies section is a huge bonus: part of the problem of beginning developers is the boredom involved with creating text programs, and the GUI section of the book really amps up the excitement and interest you can bring to the language. Overall, this book is a great read for both beginner and intermediate programmers alike: it can teach at both levels without making the beginners feel in over their heads or making the intermediate developers too bored. Definitely worth a spot on your tech shelf!
Thinking in JavaBy Bruce Eckel
Talk about esoteric tomes: Thinking in Java is perhaps the definitive one for the Java language. Eckel’s treatment of Java is vast and extremely learned: the 1200 page book is mostly dense text, and in it you learn almost everything there is to know about the Java language and how it works, inside and outside. Eckel leaves no stone unturned in his quest to teach you about the Java language, and it shows: those who can get through the book can truly say they know a great deal of Java’s workings and internals. The book went through a severe and expansive public review process online, and so truly contains the best of the best when it comes to content about Java.
The book’s greatest strength, however, is also its greatest weakness: it is tough to get through the book, and the prose can be very dense and unforgiving. It’s not recommended for complete beginners for this very reason, as it can be a little inaccessible: for those migrating from another object-oriented language or simply looking to learn more about how Java works in depth, however, this book is a very valuable addition to anyone’s tech shelf!
Building Java Programs: A Back To Basics ApproachBy Stuart Reges & Marty Strep
Building Java Programs is a book that seems to have one ideal in mind: to teach Java the way it is practiced in the real world. To that end, the book doesn’t disappoint: the book presents its ideas in a clear and logical fashion, and it always makes sure to layer its ideas in such a way that the reader is never confused, lost, or bored. It’s clear but not overly so, and it leaves enough challenge that the beginner Java programmer won’t ever be lost or frustrated.
That said, however, this is definitely a book for beginners: intermediate and advanced Java developers will find very little to aid them here. Advanced Java developers are not, however, the book’s core audience: it is aimed at beginners and succeeds very well in that regard. If you’re just looking into learning Java and haven’t had prior exposure to it, this book definitely belongs on your tech shelf!
And that’s our roundup: 5 Java books to help you learn if you’re a beginner, or to advance your knowledge if you’re already a Java guru! Though it can be hard to choose which Java book should be your next, we hope our list has given you some ideas and helped you make the right choice for you!
Help us spread the word!
If you liked this article, consider enrolling in one of these related courses:
|Jan 05-08||Introduction to Java Programming|
|Mar 23-26||Introduction to Java Programming|
|May 25-28||Introduction to Java Programming|
|- Classroom - Online|