This episode is free to all users. To get access to all past and future episodes, become a subscriber today!See subscription optionsorLog in
Point-Free is a video series covering functional programming and Swift. We’ve been working in functional programming for quite some time now, and we’ve seen a lot of benefits. So, we’ve wanted to share with more people, and what better way than a video series that we can bring to our community.
Functional programming leads to a lot of intersting ways to reuse code and make code more testable. But, we didn’t even know about many of these ideas for most of our careers. However, by diving deeper and deeper things started to slowly make more sense it became clear that this was a serious tool for wiping away complexity that every programming should have at their disposal.
Unfortunately, functional programming is sometimes seen as overly academic or unapproachable. That’s a shame because it’s a really beautiful way of doing programming, just a little different from what we are used to. It emphasizes immutable values, which means you are not allowed to mutate! And it is weirdly obsessed with functions and how they compose, and in some sense that is all that matters.
We want to cover all of that wild and interesting ideas, but at the end of the day we want to slow down and ask ourselves “what’s the point?!”. This is our chance to bring things back down to earth, take a deep breath, and see how these ideas are in fact applicable to our everyday programming lives.
We also practice what we preach. This entire site is open source in server-side Swift, and written in a function style. The entire site is basically one function, taking a request from you, the viewer, and sending back a response to your browser. Everything is built on top of small components that compose well. There’s a function that handles the routing to figure out what page to serve up, a function that produces the view built from lots of smaller view functions… everything is just functions!
We will have episodes dissecting pieces of the site’s codebase in the future, and we encourage everyone to take a look on GitHub and open up issues or pull requests if that interests you.