Book Review: Java Projects by Peter Verhas

Introduction:

Java Projects: Learn the fundamentals of Java 11 programming by building industry-grade practical projects, 2nd Edition is a book by Peter Verhas, which tries to teach the Java language through projects. The book was published in the August of 2018.

I haven’t used Java seriously since 2020, and I needed some books to get the rust off. But I didn’t want to get a book that would explain loops and conditionals from scratch to me, because I know them already.

Little did I know what I was getting into…

My review:

Before we start, let me open this review by asking a question. what the fuck is wrong with the title of the technical books of today? Who comes up with their title? It seems like badly optimized SEO. Just look at it and how long the title is. why would you give a title like this is beyond me to be honest, and no, I am not an old man dammit.

Now, for the review, let’s get the good things out of the way. the first chapter is great. It gets you started with Java, helping you through setting it up in your system, and also introduces you to Jshel, about which I did not know even though I had Java on my machine for years.

And, and, and that’s about it. what the hell? Why can’t I think of other good things about this book? maybe because there aren’t any?

Let me give you an example of the second chapter. The author introduces build tools, before showing a sorting program. Given that a lot of the books do not cover them, I did not mind this. However, I do mind when the author keeps ignoring platform differences and does not give instructions to set these tools on Windows properly. I had to search on the web for this before I could use Maven. Given you are writing a book about Java, you could at least give the proper information on how to install them on various platforms, because it might be a surprise, but not everyone uses a MAC.

Another example from chapter two is regarding the code. the author doesn’t tell you how the method is defined, only the code inside of a method. This method is called from another class, but since you don’t even know what the signature of the method is, you can’t judge much. All of this resulted in a long time to debug the code and involved a lot of guesswork. I had to read through the other sections of the chapter to get an idea of the signature of the method, and even there, it was just hinted. Maybe it would have been better if he provided the entire implementation of the program at the end of the chapter.

I went to Git Hub, hoping to find the code of the book. and I found it as well. but lo and behold, there is no code from Chapter 2. The only code available is from Chapter 3 onward.

At that moment, I also felt that the problem of the video game developers abusing the update systems to patch the game later, while releasing a shitty initial product has also leaked into the technical books. There is no other explanation for this. And what can you do when even the provided code is sloppy? Nothing.

Given the book claims to teach Java through projects, I would think it would introduce the features slowly, to not overwhelm the reader. because remember, the word fundamental is also present in the title. But that is not true either. All the features are introduced quickly, and incomplete implementations are then shown to illustrate them. not to mention, the long-winded explanations, and the constant claims of “Real development” “Real world programs” and “Real programs” made me feel that I was learning from my second mentor, an experience which I did not like to relive, thank you very much.

The book also felt indecisive to me. what does it want to be? A data structures and algorithms book? or a project-based book for the intermediates? It tries to be both, and it fails in both. if I do want to learn algorithms and data structures, I will pick a book on that topic, not come to this book and its half-hearted explanations.

The final grievance worth noting I have is the sloppy editing of this book. seriously, even a non-technical editor should have been able to pick out the typos and strange sentences scattered throughout the book. Hell, I can do it. but of course, you won’t hire someone like me. then use your fancy AI to fix it, assuming if you have it, and know how to use it.

Overall, I am very unhappy with this book. why does it have a second edition in its title, I don’t know. I don’t want to imagine how was the first edition like either. If you want a book that uses projects to teach you, then find another book. this one is not worth your time.

On a side note, this also reaffirms my hatred of Java. Seriously, the project organization in Java is fucked up. this does not mean that I refuse to work with this language. I do not have such a choice. But I will never use it for my projects. I’ll use pure, raw C with all the problems associated with use of the third-party libraries, but not Java.

Anyway, that was my review. You can check out my other blog here, and my web serial here. please give them attention, it will make me feel happy.

And I will see you in the next review.

Did you find this article valuable?

Support Tanish's technical blog by becoming a sponsor. Any amount is appreciated!