Computing Thoughts

Bruce Eckel's Programming Blog

Jun 27, 2017 - 3 minute read

On Java 8 And The Concurrent Python Developer Retreat

For many years I’ve been getting requests for some kind of sequel to Thinking in Java, 4th Edition. Over two years ago, I finally decided to “pull together something quickly.” After all, how much time have I spent writing about the language? I should be getting pretty fast by now.

Self-delusion knows no bounds. No matter how many books I write, every one seems to take longer than the previous ones, not shorter. I hope this is because I’m getting more meticulous.

Another factor is that Java 8 is a dramatic departure from previous versions of Java. It has pulled a major rabbit out of a hat with the introduction of lambdas and functional programming—perhaps not as pure as you expect from a real functional language, but a huge step forward nonetheless. Along with CompletableFutures and Streams, Java 8 is a radical improvement in the experience of programming with Java.

I’ve rolled the book out very slowly; for the last couple of months it’s been in beta to make sure there were no glitches in the delivery or reading experience, but it is now officially released.

You can find it at

This book is far too large to publish as a single print volume, and my intent has always been to only publish it as an eBook. Color syntax highlighting for code listings is, alone, worth the cost of admission. Searchability, font resizing or text-to-voice for the vision-impaired, the fact you can always keep it with you—there are so many benefits to eBooks it’s hard to name them all.

Anyone buying this book needs a computer to run the programs and write code, and the eBook reads nicely on a computer (I was also surprised to discover it reads tolerably well on a phone). However, the best reading experience is on a tablet computer. Tablets are inexpensive enough you can now buy one for less than you’d pay for an equivalent print version of this book (which, note, does not exist). It’s much easier to read a tablet in bed (for example) than trying to manage the pages of a physical book, especially one this big. When working at your computer, you don’t have to hold the pages open when using a tablet at your side. It might feel different at first, but I think you’ll find the benefits far outweigh the discomfort of adapting.

I’ve done the research, and Google Play Books provides a very nice reading experience on every platform, including Linux and iOS devices. As an experiment, I’ve decided to try publishing exclusively through Google Books.

The Concurrent Python Developer Retreat

I will be attending GopherCon in Denver with my friend Luciano Ramalho (Author of Fluent Python), and afterwards he’ll be coming with me to my home in Crested Butte, Colorado where we’ll be holding the Concurrent Python Developer retreat, July 16-19 2017. This will focus on all the aspects of concurrency in Python, as part of the development work for my book project Concurrent Python. This will be a free ebook, available now and throughout development (it might also turn into a print book if the interest is there). The target audience is people who know Python but don’t know anything about concurrency, so if that’s you, please consider joining the retreat. You can find out more, and register, here.