Learn Java the Easy Way

Author: Dr. Bryson Payne
Publisher: No Starch Press
ISBN: 978-1593278052
Print: 1593278055
Kindle: B0713P1RBH
Audience: Java Programmers
Rating: 2
Reviewer: Mike James

Who could resist an easy way to learn anything?

Java is still an important language, even though there are alternatives such as Kotlin snapping at it heels. It is a good language for the beginner to learn because it is the archetypal object-oriented language and most other languages copy it to a greater or lesser degree. A book that promises to teach to Java in an easy way seems attractive.

Chapter 1 explains how to set up Eclipse and Android Studio. I was glad to find that an IDE featured in the book. It might not be my favourite - which is NetBeans - but it is better than nothing. The only problem is that for a beginners book one IDE is great but two are a potential disaster, especially when one of them is for a complex system like Android. This doesn't bode well.


Chapter 2 gets started with an application - the well known number guessing game. This is a simple application, but to implement it you have to know about loops, conditionals and data types, plus a lot of other things. For a first "get to grips with Java" chapter this is the deep end and if you don't already know a fair bit of Java, and indeed how to program, you probably aren't going to get much out of it. Ideas are introduced as the need arises to implement the program in hand. There is no logical progression through language features - in fact this first chapter sets the tone for the rest of the book - "task-oriented".

Chapter 3 upgrades the example by adding a GUI using Swing and a designer add-in for Eclipse. This is a good way to create a GUI, but this is just chapter 3 of a book that is supposed to teach you Java the easy way. Not many language features have been discussed, but we are already tackling putting a GUI together.

The next chapter does something completely crazy - it goes off into Android development. I usually say that you need to know some Java, or at least a Java-like language, before tackling Android and this makes Android quite unsuitable as an introduction to programming and certainly not a way to learn Java. The Android theme continues in Chapter 5 which is more about Android than Java.

Chapter 6 starts a new program - a Caesar cipher program. This is an opportunity to learn more about strings but again Java takes a back seat to getting the program implemented. In the next chapter you add a GUI and then in Chapter 8 you port the program to Android.

Chapter 9 starts Bubbledraw, a program to let users draw bubbles on the screen. This isn't a trivial or a simple example; it is a fairly sophisticated program which is extended in the next chapter with animation. As you can probably guess, Chapter 11 converts the program into a multi-touch Android app which is advanced even for an intermediate level programmer.



This book really isn't about teaching you a language, it is about taking you through a range of things you need to know to implement Swing and Android apps. At the end of the book you will not know enough about either topic to do very much. At best you might decide to learn more Swing or its modern replacement, JavaFX, or you might choose to specialize in Android.

There is surprisingly little about Java in the book. There is a lot about APIs and library routines that you need to call to get the job done, but basic Java is strangely absent. For example, the few pages on the Java for loop are motivated by the need to step through a string, but the for loop isn't emphasised enough as an essential concept and part of Java. It's just a tool to get the job done and has no wider context or purpose explained.

If you like a task-oriented approach you might like this book. Personally I found the tasks and the environments chosen for the tasks made it much harder to see the wood for the trees. The involvement of the Swing library to construct a GUI and Android as an alternative just complicates things to the point where any simplicity in the language is just lost in the details of the implementation of the libraries and APIs.

As a result I can't recommend it to you if you are a complete beginner at programming or Java. This isn't an easy introduction to Java because it isn't really an introduction to Java at all. 


For I Programmer's recommendations of books suitable for beginners interested in Java see Java Books For Beginners in our Programmer's Bookshelf section.


Mike James is the author of Android Programming In Java: Starting with an App 3rd Ed (I/O Press) which will be of interest for going further with Android Programming.



3D Printing: An Introduction

Author: Stephanie Torta
Publisher: Mercury Learning
Date: December 2018
Pages: 370
ISBN: 978-1683922094
Print: 1683922093
Kindle: B07NMTKLXQ
Audience: Users of 3D printers
Rating: 3
Reviewer: Harry Fairhead
3D printers have gone from the latest thing to very useful things, but we still need introductions [ ... ]

CSS In Easy Steps 4th Ed

Author: Mike McGrath
Publisher: Easy Steps
Pages: 192
ISBN: 978-1840788754
Print: 1840788755
Kindle: B083ZJD91Z
Audience: CSS beginners
Rating: 5
Reviewed by: David Conrad

If you are looking for a simple beginner's introduction to CSS then this book fits the bill.

More Reviews



Last Updated ( Saturday, 13 January 2018 )