from Zero One Group
Economist, Statistician and Entrepreneur
"Functional Programming 101 with Python"
I always liked looking into programming languages. In particular, I have long advocated for the use of functional programming over object-oriented programming and a declarative style over an imperative one. Despite having used Python heavily since 2013, groking Scala, Haskell and Clojure really changed my style of writing Python code. I would like to share some of my findings and advocate a functional style of programming in Python. My other interests include Bayesian statistics, Monte Carlo methods and high-performance computing. I am a co-founder of Zero One Group, an Indonesia-based technology company that aims to accelerate digital transformation in Indonesia. Zero One products are mainly divided into Zero One Technology (automation and optimisation specialists), Zero One Consulting (CTO as a service) and Zero One Digital (comprehensive digital marketing services). I have spoken in a number of recent PyCons:
1. Functional Programming in Python: Lessons from Haskell and Clojure in PyCon Thailand 2019.
2. Property-Based Testing in Python with Hypothesis in PyCon APAC 2019 and PyCon Malaysia 2018.
3. The Quest for Fast Python in PyCon Indonesia 2018.
4. Pythonic Functional Programming with Coconut in PyCon Thailand 2018.
Nowadays, FP is becoming more and more popular. New languages founded upon FP principles continue to appear, and more mature languages are racing to onboard FP features - even Java. In this talk, we introduce FP as 1) programming without side effects and 2) the declarative-style of programming.
We illustrate the importance of these two concepts using examples in Python. We compare FP-style Python with textbook OO-style Python. Finally, we discuss how to practice FP best in Python, which is not traditionally a functional language, whilst remaining idiomatic.