Introduction to the Functional Programming 101 Series
By ANTHONY KHONG
This series of posts will provide a tour of functional programming concepts with examples written mainly in Python with a smidgen of functional programming languages such as Haskell and Clojure.
Back in university, when I was still new to programming (the good old days of training neural networks on a CPU (!) in R (!!)) a friend told me about a programming language that only smart people can code in and learning it would make you a better programmer. He was talking about Haskell. And I took the bait.
To quickly dispel the myth, it is not true that you don’t have to be exceptionally smart to code in Haskell. However, learning it will fundamentally change your approach to programming. Learning functional programming will change what you consider to be beautiful and simple.
In this series, I would like to share with you some core principles, which hopefully can be transferred to whichever programming language you are using!