Jan 09 2022

My Most Recent Achievement: Java 17 for Absolute Beginners, second edition

Category: TechnicalIuliana @ 23:51

I already mentioned its release in my first entry for the year, but I think this book is worth a longer entry.

The book is named Java 17 for Absolute Beginners, second edition which might lead people to believe there is a Java 17 for Absolute Beginners, first edition which is ridiculously funny and stupid at the same time, since JDK 17 was released just a few months prior. If you ask me, this book should have been named Java for Absolute Beginners, second edition. Just that, nothing else.  Eventually, there should have been a subtitle mentioning that it covers details on all Java versions including 17.  This should have made it pretty clear what the book is about. On the internet, however, a book name is decided by the search algorithms of the various search engines. And since a lot of people are interested in the most recent version of Java, to make the book easy to find on the internet, Java 17 had to be part of the book title.

This book assumes you are an absolute beginner to Java and probably programming and is written in such a way to introduce you gradually in … my world, because I’ve been writing Java code since 2002 and I’ve had a lot of resources, but let me tell you… I did not have a book like this to guide me through the process. The book covers Java fundamental concepts, but also a few simple algorithms and design patterns. I always thought that you cannot learn a language quickly unless you have a wider context, a purpose for which it can be used. The book is perfect for an absolute beginner in that way, because it doesn’t just tell you Hey, this is how you write Java code! , but also This is what you can use it for, This is why you should consider doing it this way and Here is how you make sure it works.

When writing my books I try to do the following:
– start with a basic example and build upon it by adding layer on top of another layer of complexity. The idea is to provide a gradual path of learning.
– use analogies to real life objects and events, programming is just another way of modelling the real life. Also, if people can associate what they learn with what they already know, they have better understanding and the knowledge sticks.
– provide wider context. People tend to be more enthusiastic about learning something if they understand the problems that the thing they are learning can solve.

I don’t know if these three principles of mine apply to every student, but I know this works for me. For example, I’ve struggled to learn advanced math because my teachers did not explain what real life problems advanced math solved. A single teacher mentioned at some point that some formula he was presenting us was used to compress data in PNG images, and he had my attention more than the others. I know, I am a very stubborn learner myself and have trouble learning if I don’t have a lot of contexts for how the information can be used, what kind of problems it can solve, or if I cannot link it to knowledge I already have. It might sound selfish, but I wrote this book for younger me, that was just learning Java and struggling with it.

Not sure what else to say about this book, except when I received my copies, I opened one and checked the formatting, read a little bit and felt so proud of my work and the entire team of graphicians and technical and text reviewers from Apress.

That’s about it, if you are just starting to learn Java, give it a shot, and feel free to send me an email to thank me if you found it useful or swear at me if not, but after that tell me exactly why, so I can make the next edition better.

Stay safe, stay happy!

Tags: ,