Luka Jacobowitz Curry On 2017 Interview

Luka Jacobowitz will be giving a talk at Curry On 2017. His talk is called Reactive Programming in the Browser with Scala.js and PureScript.

Follow him on his Homepage, GitHub and Twitter.

PurelyFunctional.tv: How did you get into Functional Programming?

Luka Jacobowitz: To be honest I was just looking for a really cool programming language to learn. At the time I was frustrated with the programming languages I knew and wanted to find something which combined the features I looked for (which back then definitely weren't the features I look for nowadays). Then I found Scala and saw that some of community seemed to take Functional Programming real serious, so I ended up reading "Functional Programming In Scala" and the I've been hooked ever since.

PF.tv: What is your talk about?

LJ: I will be talking about functional and reactive programming in the Browser using Scala and PureScript. We will have a loot at some of the differences between the languages and build some cool things with both. I always find it difficult to give a good summary for my talks, so just come check it out if anything here sounds interesting to you ;)

PF.tv: Who is your talk for?

LJ: I can recommend this talk for anyone interested in functional programming languages, reactive programming or doing Frontend work. Anyone is welcome though and I'll be explaining all of the more obscure concepts and techniques.

PF.tv: What do you hope people will take away from the talk?

LJ: I think people will get a good overview of functional compile-to-js languages and learn some key concepts to Reactive Programming. I hope I can convince some of the people to give Scala.js a PureScript a try, or even better try out the OutWatch library!

PF.tv: What concepts do you recommend people be familiar with to maximize their experience with the talk?

LJ: Some basic concepts in functional programming are required, but for anything more advanced I'll try to explain as good as I can. If you want to work ahead have a look at functional streams, reactive programming or virtual-dom concepts.

PF.tv: What resources are available for people who want to study up before the talk?

LJ: Since I will be talking a lot about Scala.js and PureScript, their respective websites have a lot of resources to offer. For ReactiveX, I'd recommend either their website or the "awesome-rxjs" repo on GitHub. Furthermore, I have to mention the OutWatch documentation, which can be found here.

PF.tv: Where can people follow you online?

LJ: They can follow me on Twitter @LukaJacobowitz, or check out my blog.

PF.tv: Are there any projects you'd like people to be aware of? How can people help out?

LJ: Well, I currently spend a lot of my time on the OutWatch library, which I'm going to talk about during my presentation. I find it very fun to work in and would appreciate any feedback, so the easiest way of helping out would be to just try it out and talk about your experience or report Issues on GitHub.

PF.tv: Where do you see the state of functional programming in 10 years?

LJ: 10 years is a really long time, but I'd love to see pure functional programming be more mainstream in the future. There is definitely a trend towards more functional-ish programming, so maybe in 10 years pure functional programming is no longer just a niche. Moreover, I'm thinking that a strong static type system will be more and more a tool that people learn to rely on. The trend away from dynamically typed languages is somewhat recent, but I can see it continuing on. I'm also holding out hope that we're getting dependent types as a more widespread feature in programming languages in 2027. Maybe that will be Idris or maybe it will be something else, we'll have to wait and see :)

PF.tv: If functional programming were a superhero, what superpower would it have?

LJ: That's a tough question! I'm thinking maybe levitation? There's something very meditative about being to float in the air. Functional Programming can be very similar, when done right. It's definitely my way of trying to achieve Zen.