Java Books For Beginners
Written by Kay Ewbank   
Monday, 17 July 2017
Article Index
Java Books For Beginners
Practical Java


Java Coding Guidelines

Author: Fred Long, Dhruv Mohindra, Robert C. Seacord , Dean F. Sutherland, David Svoboda
Publisher:  Addison-Wesley, 2013
ISBN: 978-0321933157

Describing this five-star book as much more than just a book of dos and don'ts, Alex Armstrong said that:

"If you read one book on Java this year make it this one. It is enjoyable, informative and you will be a better programmer for it, or at least you will believe you are."

In Alex's opinion, what makes this book different is that it isn't just a list of rules that you read and commit to memory it is a set of 75 recommendations that tell you the basic idea, show you how not to do it and then show you the correct way. If the book has a flaw then its that there are only 75 recommendations - if you read the book it will almost certainly leave you wanting more. 


 There are five chapters each dealing with a different aspect of coding in Java, covering security, defensive programming, reliability, program understandability, and programmer misconceptions.
While the material across the chapters is strong, Alex says that the material in the chapter on program understandability:
"really should be drummed into every programmer when first learning any language. After all, you don't write programs for computers you write them for other programmers."
As with other chapters, the material is a mix of well known generalities and some very specific guidelines - be careful using visually misleading identifiers and do not place a semicolon immediately following an if, for or while condition.

The final section on programmer misconceptions is, says Alex, perhaps the most interesting of all:

"Who could resist the possibility that they have been misled, perhaps for years and years. Again some are fairly obvious - understand the differences between bitwise and logical operators - others less so - do not attempt to help the garbage collector by setting local references - I won't do that again. "

In conclusion, it doesn't matter if you have encountered the advice that this book offers; it is the fact that it shows you an example or two of how not to follow the advice that makes it better than the average guidelines book.

Overall it is a good read as long as your Java is good, but not too good otherwise you probably know everything the book has to tell you. Recommended as a pleasant and and worthwhile read when you have a few moments to spare.

Java 7 Recipes

Author: Josh Juneau, Carl Dea, Freddy Guime & John O'Conner
Publisher: Apress, 2011
Pages: 872 
ISBN: 978-1430240563

Awarding 4 stars, Mike pointed out that:

 "this isn't really a recipe book at all. It is an introduction to all things Java 7 chopped up into short chunks, each one motivated by a usually contrived question or task.

There are some advantages to this sort of structure, according to Mike: For example, it means you can find relevant parts of the book more easily and sections are relatively self contained.

The second most important thing to know about this book is that it is big and covers a lot of ground. It is also written by a team of authors and this means that its quality is a little variable.




The first four chapters form an introduction to Java, including basic data structures. Chapters 5 through 10 are on more advanced topics but are still on core Java - I/O, exceptions, OOP, concurrency, debugging and Unicode.

From here the book moves into various Java sub-systems - databases, 2D and 3D graphics, Swing, JavaFX, Servlets, core XML and networking. 

The quality of the explanations vary, but they are always at least acceptable. There are large chunks of code listings which are mostly a waste of space, but as this is a big book its not a problem.

In the main, the level of the book is beginner to intermediate and it really doesn't tell you how to do anything that is "difficult". However, if you fit into this category, and like the sort of short-burst approach of a recipe book, then you might well get quite a lot from this one.

Not an exceptional book, but far from a waste of paper. 

While's Mike's reviewed is forthe Java 7 edition of this book, which will still be relevant for many developers, there's an updated version for Java 9. 


Learn to Program with MineCraft Plugins

Author: Andy Hunt
Publisher: Pragmatic Bookshelf, 2014
ISBN: 978-1941222942

This book's original edition (978-1937785789) which is the one Mike James reviewed in August 2014 relied on the Bukkit modding server and library and had to  be taken down due to a copyright dispute the following month. Andy Hunt produced a completely revised edition that replaced Bukkit with the CanaryMod library - but otherwise the book's contents reamain the same.

Minecraft is a fun "game" and it already has aspects of programming within it so what could be more logical than using it to teach programming to youngsters aged 9 and over? Awarding the book 4.5 stars, Mike James says this is an undeniably good idea but there are some serious problems with it:

"This is a really well written book and if it doesn't succeed then I doubt any book will, but it is important that you know what is expected of you before you launch into the challenge."

The first thing to say is that the subtitle: Create Flying Creepers and Flaming Cows in Java is encouraging and exciting and, yes, if you stay the course you will be into flying creepers, flaming cows and even Java.  The problem is that it is a tough course, no matter how hard the book tries to make it easy. The reason is that working with Minecraft is technically difficult - something that perhaps experienced Minecraft users fail to recognize. 

The problem is that taking the Minecraft approach means the reader has to master all sorts of things that have little to do with programming. It isn't possible to sit down and get on with learning Java because you have to learn how to set up a Minecraft server and work with it first. If you really, really want to create Minecraft plugins then it is worth the effort, but if you just want to learn Java it probably isn't. 


However, alongside the Minecraft, Java is covered, and by the end of Chapter 4 we have encountered quite a lot of Java, including loops, conditionals and strings. 

Chapter 5 introduces the idea of an object, goes over the reasons why you might want to do things this way and shows how to create a new object. This is more or less the end of the "pure" programming introductions. From this point on each of the chapters introduces a programming idea while developing the art of working with Minecraft plugins. 

For example, Chapter 6 explains the structure of a Minecraft plugin. It explains how Minecraft knows about your plugin and the coordinate system in use. It is essentially about Minecraft rather than about Java - but of course you are going to learn something about Java as you go along. 

Mike says:

"This is a really well written book and I can't imagine a better introductory book on the same topic. If you want to learn how to create Minecraft plugins and learn Java on the way this is the place to start. At the end you will be able to create Minecraft plugins but your journey to learn Java will only just have begun - I'd say about 20%.  

However, you need to be aware that if you are just interested in learning to program there are simpler and easier routes to follow than to dive into Minecraft and this always going to be true no matter how excellent an introductory book you find." 




Also on Programmer's Bookshelf

Python Books For Beginners

Books for Pythonistas 

Building A JavaScript Library

C# Books - Pick of the Shelf

Reading Your Way Into Big Data

HTML5 Books

Gems Amongst Ruby Books

All About Android Books

SharePoint Book Choice

Best Books Of  2014

Pick of the Shelf - SQL Server 2012

MySQL and MariaDB Database Books

Christmas Book Choice 2012

JavaScript Books (2012)



PHP In Easy Steps, 4th Ed

Author: Mike McGrath
Publisher: In Easy Steps
Date: April 2021
Pages: 192
ISBN: 978-1840789232
Print: 1840789239
Kindle: B08ZSV3MNH
Audience: People wanting to learn PHP
Rating: 4
Reviewer: Ian Elliot
PHP isn't a fashionable language, but this doesn't mean it isn't worth learning.

Modern Software Engineering (Addison-Wesley)

Author: David Farley
Pages: 256
ISBN: 978-0137314911
Kindle: B09GG6XKS4
Audience: Software Engineers
Rating: 3.5
Reviewer: Kay Ewbank

This book is subtitled 'doing what works to build better software faster' - does it teach you how to achieve that?

More Reviews

Follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for our new reviews and for each day's new addition to Book Watch and visit Book Watch Archive for hundreds more titles.

You can also follow us on Google+Linkedin or Facebook or sign up for our weekly newsletter.








Last Updated ( Wednesday, 27 February 2019 )