
“Thinking in Java should be read cover to cover by every Java programmer, then kept close at hand for frequent reference. The exercises are challenging, and the chapter on Collections is superb! Not only did this book help me to pass the Sun Certified Java Programmer exam; it’s also the first book I turn to whenever I have a Java question.” —Jim Pleger, Loudoun County (Virginia) Government “Much better than any other Java book I’ve seen. Make that ‘by an order of magnitude’.... Very complete, with excellent right-to-the-point examples and intelligent, not dumbed-down, explanations.... In contrast to many other Java books I found it to be unusually mature, consistent, intellectually honest, well-written, and precise. IMHO, an ideal book for studying Java.” —Anatoly Vorobey, Technion University, Haifa, Israel “Absolutely one of the best programming tutorials I’ve seen for any language.” —Joakim Ziegler, FIX sysop “Thank you again for your awesome book. I was really floundering (being a non-C programmer), but your book has brought me up to speed as fast as I could read it. It’s really cool to be able to understand the underlying principles and concepts from the start, rather than having to try to build that conceptual model through trial and error. Hopefully I will be able to attend your seminar in the not-too-distant future.” —Randall R. Hawley, automation technician, Eli Lilly & Co. “This is one of the best books I’ve read about a programming language....
I made a lot of consulting cash being an expert in VB 6.
When .NET came out, I switched to C# and learned object-oriented programming. (Ironically by reading Bruce Eckel’s “Thinking in Java”).
So we went to the nearest bookstore and got a bunch of other books on programming. For many Flash developers the bible was Thinking in Java by Bruce Eckel. Most of the source materials for game programming (and that was a lion share of Flash programming) was in C++.
I'm not claiming that we were smarter, but by sheer coincidence, most people, even folks like me who skipped school, had very solid fundamentals. And partially due to the fact that it wasn't that lucrative back then.
Today most people don't care, IT is just easy money, kids have short attention span and trends are tailored by tiktok videos. All in all, it's just a fashion driven developement.
Bruce Eckel is fairly well known for his original Thinking in java/c++ books, and I find his style of writing great. He has a knack explaining topics in an easily digestible thorough way, while not being completely dry. Its a 1200 page book, and can double as a reference, but actually explains the when, how and why in thoughtful writing enough to double as a great book for learning and a reference when needed. I knew a lot about java and learned a lot of little things about topics I already knew, and it breaks down each piece of the language so you can easily gloss over things you already may know from other from other languages.
wrt Never ending revisions:
> Every history book, even when it is dispatched to the printers, is a work in progress, ready to be revised.
Someone at Pixar, Lasseter?, said something like: their movies are never done, the release that the public sees is just a "good enough" snapshot.
Movies, books, songs, buildings, everything are perhaps better thought of as works in progress.
I'm often powerfully reminded of Bruce Eckel's book "Thinking In Java". Written in public. Basically crowd sourced the editing. Eckel accepted so many revisions from his readers. The end result is fantastic. Even though the book was free to download, I bought 5 copies (4 as gifts).
I really thought Eckel's strategy would become the norm. Especially for non-fiction. Doubly so for technical books.
Today, Eckel would probably host the book on git. And accept PRs.
Shouldn't every book have a public repo?
Doing so would improve public discourse.
David Graeber was recently front paged on HN. Usually someone notes Brad DeLong's criticisms of Debt. No paper is free of errors, much less a 500+ page book. IMHO, the bulk of DeLong's nitpicking would be mooted by creating PRs. This would liberate DeLong to focus on Graeber's thesis. If he so choose.
--
wrt Changing one's mind.
I often repeat (about myself) "Strong opinions, loosely held." So brutish.
Here's the OC's closing para:
> Perhaps in 40 years’ time I, too, will have changed my mind about all the details I’m agonising over now. My future self might be wiser, more able to spot errors and infelicities of expression that I can’t identify at the moment. I hope so. Facts may not change, but historians do and, as we change, so does our understanding of the facts. It’s that which makes history not an inert study of the static past, but a never-ending process of discovery.
So much better. Just lovely.
Bruce Eckel's Thinking in Java was free to download. IIRC, from early drafts thru many editions.
Crucially, Eckel built a community. He was great about including reader feedback, errata, discussing finer points, vetting example code. (Today, authors would probably just host on git and accept pull reqs.)
As a result, Thinking in Java became significantly better than any other Java book. The easy, safe recommendation.
I probably bought 10+ copies over the years, for self and gifts. And it became the default book for workplace study groups.
