First, I’d like to thank everyone who took my survey from last week. It wasn’t important (and, according to some of you, it was ‘dumb’), but it was something I was curious about I’m glad I got all of your feedback. The results are in: apparently most people prefer to keep it the classical way, with just over half the votes for strongly preferring it that way. The rest of the votes were split very evenly between slightly preferring it the old way, slightly preferring it the opposite way, and strongly preferring it the opposite way.
Other than sating my curiosity, if enough people seemed to prefer a new way of doing things, I was going to try and write a Python library for composing functions that way. Looks like I can just ignore this.
Book Review: Functional Python Programming
The reason that this review is tied in with the results of the survey is because this book is what got me to really consider (and become annoyed with) how function composition is traditionally done. Which is what led to the survey.
Functional Python Programming is a Packt Publishing book that covers a very wide spectrum of skill level, taking you from being a beginner all the way through using the author’s library, PyMonad, which allows you to make your programs almost completely lazy and using function composition and monads.
Obviously, by covering such a wide gamut, the book has to go through the topics a little quickly, but the author does a fairly good job of making sure you learn everything he tries to teach along the way. In fact, it seemed like he was actually going slowly a lot of the time, for me. Likely this is due to my familiarity with the subject.
Personally, I didn’t really enjoy this book until the 3rd from last chapter, where he introduces the PyMonad library. But if you’re still fairly new to the functional programming world, you’ll probably enjoy this book more than I did. I do have to admit that every chapter had at least one idea that was new to me, so reading through the entire book wasn’t a waste of time.
Overall, I recommend the book, especially since it’s the first Python-focused functional programming book I’ve read, so I can’t give any better suggestions in the category. I especially recommend it to those who have just recently begun their dig into functional programming, but who have a solid Python background.