This is coming out a bit late for a year-end wrap up type post, but I almost never do stuff like that anyway, so I didn’t think of it until now. Also, I don’t like choosing favorites, so I’m just going to list a bunch of the books I liked this past year. Yes, I read all of these books in 2014, along with plenty of fiction books too 🙂
Let’s dive right into it.
I have to admit, book-wise, I didn’t have a great year with Python. Most of the good stuff that I found were YouTube videos of conference session or blog posts. It also doesn’t help that I didn’t start learning Python until a few months ago, so I ended up reading a lot of beginner materials. But here are some good Python books that I found:
- Fluent Python: This book isn’t even in print yet; it’s a beta version that you can get on O’Reilly’s website. It goes very in-depth on just about every basic subject, such as explaining some of the implementation details of dicts, lists, sets, and strings. It also provides a strong example of class design to make your classes work as pythonically as possible with its dunder methods and such.
- Practice Makes Python: Another beta book; this book provides a ton of little things for you to program in python. This was extremely useful for me because I didn’t have any projects I wanted to work on in Python, so it provided something for me to do with Python to get my skills going.
- Parallel Programming in Python: I kind of skimmed through this, but it gave pretty good demonstrations of all methods of achieving concurrency in the Python standard library (at least I think it’s all of them).
Much of what I enjoyed for Java this year had to do with Java 8 features, especially lambdas. I dug into anything I could that was “functional”, especially if it was Java- or Python-related. Here are my favorite Java books of the year:
- Java 8 Lambdas: A book named after the biggest news in programming this year (to me, at least)? I’m in. This book discussed the new Streams API, the functional changes to collections, and how to adapt code your code to the new style.
- Functional Programming in Java: This is a really good starter book for learning about the new Java 8 functional features. It teaches a ton while making it easy to learn. Java 8 Lambdas is a good book to follow this one after you’ve had a little practice.
- Programming Concurrency on the JVM: This book provides several basic ways of programming concurrency, all under the basic mantra of avoiding shared mutable state (which is what makes concurrency difficult).
Functional Programming Books
- Java 8 Lambdas and Functional Programming in Java: these are listed above in the Java section
- Becoming Functional: This could also be considered a Java book, since it takes a few small Java designs then changes them to Groovy (a pre-Java 8 language that mimics Java with lambdas and more freedom). Very good at explaining how to convert OO to more functional designs, even if it’s just making the OO designs DRYer.
- JUnit in Action: In general, I’m a fan of the “in Action” series of books. They tend to make their subjects seem fairly interesting. There was a decent amount to learn here.
- Pragmatic Unit Testing in Java 8 with JUnit: I’m not finished with this one yet, but it’s a fairly in-depth look at making good unit tests (obviously using JUnit).
So that’s my top programming books that I read in 2014. What have you read that you think I would find really interesting?
You may also notice a trend towards books by the publishers Pragmatic Bookshelf and O’Reilly. So far, I enjoy both publishers, who both have a majority of their books as eBooks, and both sites provide easy ways to send the eBooks straight to my kindle apps.