Book Review: "Fluent Python", by Luciano Ramalho

It took me about four months or so in order to read this book from cover to cover. If you may recall my blog post on python functions in practice referenced this book. So I don't know if I can give a holistic overview of how this book turned out.

I really wanted to expand my horizons and deepen my understanding of Python by reading this book, and I think it scored very well there. A lot of the concepts were covered quite thoroughly and where there were gaps, more up-to-date resources on the web and in other books referenced in each chapter's "Further Reading" section were very useful.

One of the most useful sections was increasing the performance of your Python application, particularly using the library asyncio and Futures. In this sense, Python 3 took a page out of Node.js in defining how I/O-bound operations ought to be written. I couldn't do anything with this module since just a short while before I needed to maintain Python 2/3 compatibility, but due to needing to package Python 3 for one issue at work, I now am free to use all Python 3 features. I also discovered that people create asynchronous HTTP clients as well as database clients (like aiohttp and aiopg), and I might be able to take those into account while working at my current company.

The most confusing and possibly less interesting aspects of the book was the section on metaprogramming. I don't see Python being a great metaprogramming model and the author was hesitant against it too, so I don't think it'll stick or need to stick.

Overall, an excellent read and quite the reference on the bookshelf.