PurelyFunctional.tv: How did you get into Functional Programming?
Alvaro Videla: I started with functional programming back in China when I was working for a German company. My CTO had mentioned Erlang as a way of having reliable programs. He didn't know much about it, but that was what he had heard about Erlang "programs fail and restart themselves automatically". That seemed neat, so I got into this "Erlang" language. I got the book by Joe Armstrong and immediately fell in love with it. Then for different reasons we adopted RabbitMQ at the company, so I started to spend a lot of time reading its source code so I could learn more about Erlang, and how it was properly done. At the same time I learned about Clojure and followed its development for a while, and the same could be said about Haskell, since I really liked all the type system ideas that I could learn from it. All in all, I think those three languages are the ones that have influenced my coding style the most.
PF.tv: What is your talk about?
AV: My talk is about Metaphors, based on the theory by Lakoff, from the book "Metaphors We Live By". I try to trace a parallel from those theories into how we program. My main approach starts from the idea that programming is a human communication activity. A piece of software is a way of telling another programmer: "this is how I solved problem X". The clearer we manage to communicate our solution, the better, so picking the right metaphors when naming our classes and other entities, is the starting point for better communication.
PF.tv: Who is your talk for?
AV: For those programmers that are interested in writing code that communicates their intent well. If you are interested in Linguistics or Literary Theory, then better yet.
PF.tv: What do you hope people will take away from the talk?
AV: That the way we communicate is as important, if not more, than the technologies we use. We need to hon our communication skills if we want to become better programmers.
PF.tv: What concepts do you recommend people be familiar with to maximize their experience with the talk?
AV: For a deep understanding of the theory, there's the book by Lakoff "Metaphors We Live By", a lighter one could be "I Is An Other" by James Geary.
PF.tv: What resources are available for people who want to study up before the talk?
PF.tv: Where can people follow you online?
AV: I'm @old_sound on Twitter. Otherwise videlalvaro on Github. Here's my blog.
PF.tv: Where do you see the state of functional programming in 10 years?
AV: My experience over the last 7 years while being part of the Erlang community and the FP community in general tells me that probably we will see more FP features integrated into mainstream languages, than seeing an FP language being used widely, like Java is today (to name an example).
PF.tv: If functional programming were a superhero, what superpower would it have?
AV: Probably Wonder Woman's Lasso of Truth, since it removes side effects and shows the real value of things.