If you want to push your Java skills to the next level, this book provides expert advice from Java leaders and practitioners. You’ll be encouraged to look at problems in new ways, take broader responsibility for your work, stretch yourself by learning new techniques, and become as good at the entire craft of development as you possibly can. Edited by Kevlin Henney and Trisha Gee, 97 Things Every Java Programmer Should Know reflects lifetimes of experience writing Java software and living with the process of software development. Great programmers share their collected wisdom to help you rethink Java practices, whether working with legacy code or incorporating changes since Java 8. A few of the 97 things you should
“97 Things Every Java Programmer Should Know” covers quite a variety of “”things.” There are about 70 contributors with most writing 1 “thing.” Under ten people to contribute 3 “things” and I was one of them!
I like that the “things” cover a variety of technical and soft skills. They also don't just cover Java. They cover items you should know if your primary language is Java.
Many “things” I knew already or heard the authors speak about. However, there were some that I found new such as why Optional breaks monad conventions and why it is better. There were many common techniques and tools presented as well. Even Kotlin which Java developers should definitely at least read about.
I really liked the article about refactoring for speed-reading. Using common idioms and choosing names to help future readers is really important. One article suggests Googling for common interview questions if you face gotchas/be the compiler errors at interviews. I say buy a cert book to supplement this one :)
The “things” are presented in alphabetical order by title. At the end is the bio of all authors. That I expected. What pleasantly surprised me was that each bio ended with which articles the person contributed to the book. This is a really good reference.
This book reminded me of a conference. You get exposed to lots of information and decide what you want to explore more. Excellent collection!
--- Disclosure: I received a copy of this book from the publisher in exchange contributing 3 “things”.
The book format is really nice, but there is not so much useful advice, probably due to poor selection of "experts". That's said, I learned a thing or two, so it is not completely useless. Many articles are plain boring and not even related to Java, as they explain old ideas we hear over and over. I was expecting a bit more from the new book published in 2020.
For me, it was a good way to get an overview of the Java community: the contributors come from different places and have their own points of view. The book does highlight some interesting ideas but fails to provide enough detail on them
I don't remember the exact thing that made me start reading this book, but most probably this was due to its marketing campaign or I saw a paid blog post sponsored by the publisher. Why do I think so? Mostly because how heavy this book's authors wanted it to be hip and trendy. It badly wants to be a better version of Effective Java, however completely missing the main point of Josh Bloch's book.
I won't say that it wasn't worth it, as to be honest I actually learned a few new tricks of the trade. But I can't think of all that time spent on reading obvious thrusts that should be a no-brainer to anyone who still writes code in Java in 2022. Catched exceptions are bad? C'mon, every IDE will scream and shout at you if you're creating a new class with catched exceptions. Not mentioning every Java for Dummies book. When Josh Bloch wrote his book the internet was not as widespread as it's today and sources of good knowledge were scarce back then. However, that's not the case anymore. The writing is on the wall.
My score is 2/5. Better spend that money to pay for your home internet.
While I can't agree with everything the 97 things encourage, I sure can undoubtedly get behind the advice dispensed in this book as a whole. It's an excellent reference, and one every java programmer should have on their reference shelf. There's some pearls of wisdom in this volume that would serve just about any java programmer, regardless of experience level. If you're a beginner java developer then this book could act as a great reference for what you might want to focus on as you go forward with your learning journey. Obviously, some of these pieces of advice work for any language, while others are specific to java, and still others have no dependence on programming languages at all, but just provide all around general good sense when it comes to approaching problems of any kind. I'd recommend this volume for any programmer in general, and any java programmer in particular.
Wonderfully crafted articles on Java. This is the first book where I encountered a tech publication without any code, accompanied by necessary links to other articles for readers interested in delving deeper into specific topics. A couple of points that stood out during my reading were: -> As you progress in your development journey, you likely already grasp these concepts; there's no necessity to acquire them from a book. -> I noticed a few contradictory topics, such as the importance of certifications discussed initially and later chapters presenting arguments against their significance. In summary, if you aim to refine your understanding of do's and don'ts in your Java development career, a single thorough read is sufficient, without necessarily implementing every aspect.
Öncelikle neden başlıkta Java programcıları dendiğini pek anlamadım. Kitaptaki maddelerin çoğunun java ile bir ilgisi yoktu, herhangi bir dildeki programcılar için de geçerli şeylerdi. Her madde bu alanda tecrübe sahibi bir kişi tarafından yazılmış ve tabii ki kişilere göre bazı konular değişik yorumlanabiliyor. Mesela birisi sertifikalar önemli önemli olabilir derken bir başkası sertifikalar önemli değil diyebiliyor. Her maddeye birkaç sayfa yer verildiğinden içeriğin çoğunlukla yüzeysel olduğunu tahmin etmek zor değil. Yazılım alanında yeni olanlar için faydalı olabilecek bir kitap. Tecrübeli olanlar için yeni bir şey pek yok.
Most of the advice is language-agnostic and most of the Java-specific advice has parallels in Python that I could relate to.
There are about 10 “Things” that stood out and around 20 that I kinda sorta knew but were phrased in a compelling way. 20/30 more generic pieces of advice that someone with software development experience will be able to relate to.
Overall, a good read. It is a short read too so I highly recommend it.
I will definitely refer back to this book and use specific “Things” from time to time.
Aka things you likely know if you spend a hour a week trying to improve. I did find it funny that many tips are, java is not dead, java is the best, use groovy, use kotlin, use a non-jvm language. 🤦
It got two stars as one tip and it's example did give me a breakthrough on something I was thinking about.
Pros: (i) I felt like I was in good company (ii) I learned a thing or two that I didn't know before (iii) nice bite-sized chunks of wisdom. Cons: (i) Not every chapter is necessarily Java-specific (ii) Slightly outdated (iii) Easy to find contradictions, e.g. get certified vs do not bother getting certified. All in all, it was worth it.
Light & entertaining reading for java developers but generally very little useful information - hardly nothing for people working in IT longer then 5 years. Considering the fact that it's priced so high it's hard to recommend it to anybody..
in some points opinions contradict at some points never the less i think the books has a lot of general knowledge no only for java but for programmers in general. and is a pleasent enough reading
It's important to present the authors but one third of this book is about the authors and the index. The other two third has some nice tips but it focuses on beginners.