Visit our site to listen to past episodes, support the show, join our community, and sign up for our mailing list. Summary What is functional programming, why would you want to use it, and how can you get started with it in Python? Our guests this week, Matthew Rocklin and Alexander Schepanovsky, help us understand all of that and more. Matthew and Alexander have each created their own Python libraries to make it easier to employ functional paradigms in your Python code. In this episode they help us understand the benefits that functional styles can have and the benefits that can be realized by trying them out for yourself. Brief Introduction Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. Subscribe on iTunes, Stitcher, TuneIn or RSS Follow us on Twitter or Google+ Give us feedback! Leave a review on iTunes, Tweet to us, send us an email or leave us a message on Google+ Join our community! Visit discourse.pythonpodcast.com for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at pythonpodcast.com Linode is sponsoring us this week. Check them out at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project I would also like to thank Hired, a job marketplace for developers and designers, for sponsoring this episode of Podcast.__init__. Use the link hired.com/podcastinit to double your signing bonus. Your host today is Tobias Macey Today we are interviewing Matthew Rocklin and Alexander Schepanovski about their work on functional libraries for Python. Interview with Alexander and Matthew Introductions How did you get introduced to Python? – Chris Can you first explain what functional programming is and how it differs from the procedural or object oriented programming that most Pythonistas are familiar with? – Tobias How did you get started with functional programming? – Tobias What are the benefits of functional programming and when might someone want to use functional paradigms in their projects? – Tobias What is it about functional programming that people find so intimidating and what do you think has led to its recent rise in popularity? – Tobias What aspects of the Python language lend themselves to being used in a functional manner and where does it fall down? – Tobias Can you each describe what your respective libraries provide in terms of functional capabilities and what their particular focus is? Are they distinct enough from each other that it would make sense to use them both in a single project? – Tobias What inspired each of you to create your respective libraries? – Tobias There is a functools module in the Python standard library that provides some methods that enable functional paradigms. Where does that module fall short and how do your respective libraries augment or replace the functionality in that module? – Tobias There is also a library named fn.py which provides functional paradigms for use in Python. Can you each compare and contrast it with your own work? – Tobias There are a number of concepts involved in functional programming such as currying, function composition, immutable data, and pure functions. Can you describe some of those concepts and then explain which of them you tried to incorporate into your libraries? – Tobias What are some of the resources that you have found to be most helpful when trying to learn and apply functional principles to your programs? – Tobias Keep In Touch Alexander Twitter Blog Matthew Website Toolz Twitter GitHub Picks Tobias DataDog Alexander The Expanse Revolut Matthew Riemann Five Dances Distributed Links Rosetta Code PyToolz Funcy Fn.py MacroPy Code Transformer Simple Made Easy by Rich Hickey The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA