HomeServicesExpertiseOpen source supportAboutStoryReferencesCareerInsightsContact
Friday, 30 August, 2019
Toni Vanhala
Stories & community

ClojuTRE 2019 — Interview with André Staltz

Post cover image

ClojuTRE 2019 is just four weeks away as I'm writing this. I'm seriously excited about how amazing stuff we have this year!

ClojuTRE 2019 offers more than just excellent talks. Each morning, we start the day with trainings. One of them is given by André Staltz, who told us a few things about his background, the training, and his current interests in open source development.

Toni Vanhala: How did you get into functional programming?

André Staltz: It was actually through Oleg Grenrus (editor's note: who's speaking at ClojuTRE 2019) in Futurice who in 2014 was presenting a lot of functional (and functional reactive) programming ideas in Futurice internal meetings that I got interest in the topic. There was something about the topic that felt very new yet simultaneously familiar (given my background in Mathematics at the University), and this was intriguing. A mathematical approach to programming always sounded to me like a good idea, but I hadn't been introduced to functional programming before 2014.

TV: Which languages or frameworks you find exciting?

AS: Off the top of my head, the first one that comes to mind is Koka, a new experimental language that tries to achieve functional purity and algebraic effects, through a familiar JavaScript-looking imperative syntax. Also, I'm increasingly more fond of Rust and how it's becoming the "next C".

TV: Your training at ClojuTRE is about building abstractions in Javascript. What are the key concepts that I will learn?

AS: This workshop will cover Iterables, AsyncIterables, Observables, Promises, async-await, and Callbacks. Even though these may sound familiar, what's new is the way these concepts will be presented. There is a unified theory that underlies all these abstractions, and if you learn that, you'll be comfortable dealing with all of those. In my experience teaching this a few times, everyone who has taken this training has learned something new.

TV: Does thinking about and practising these concepts make me a better programmer? Why?

AS: One of the problems with using abstractions is using them in the wrong context or for the wrong purpose. Most programmers know how harmful abstractions can become if they are used incorrectly and extensively. This training will show why and where to apply each abstraction in the right context. Also, it will show that many abstractions are unavoidable and already present in your code. It's better to recognize them and manage them well.

TV: What interesting projects are you currently working on?

AS: Actually, related to the training topic, there is a library called pull-stream, an alternative to AsyncIterables, which needs some new utilities. I've been working on pull-cpu-throttle because I want to improve the user experience of my main project, Manyverse, a decentralized and mobile social network. Also related to the training topic, I've been maintaining Callbags, a hybrid Observables/AsyncIterables standard for JavaScript callbacks.

TV: How can people find you online?

AS: Just https://staltz.com and from there people can find my other accounts on the web.

Thanks André and see you at ClojuTRE! Don't hesitate, read more about André's training, and sign up! If there's a bunch of you coming, you can also write to us at clojutre2019@metosin.fi.

Toni Vanhala
Friday, 30 August, 2019

Related posts

A Christmas Present in Clojure

by Joel Kaasinen
Cover Image for A Christmas Present in Clojure

High-Level AI Strategy into a Prioritized Investment Roadmap

by Tapio Nissilä
Cover Image for High-Level AI Strategy into a Prioritized Investment Roadmap

Three Levels of AI Impact

by Tapio Nissilä
Cover Image for Three Levels of AI Impact
More

Contact

HomeServicesExpertiseOpen source supportAboutStoryReferencesCareerInsightsContact

Tampere
Hämeenkatu 13 A 5
33100 Tampere

Helsinki
Kalevankatu 13, 3rd floor
00100 Helsinki

Jyväskylä
Väinönkatu 30, 5th floor
40100 Jyväskylä

Oulu
Kirkkokatu 4 A 51
90100 Oulu

Business-id: 3374640-7
E-invoice: 003733746407
Operator: 003723327487 / Apix
metosin@skannaus.apix.fi

first.last@metosin.fi

Github
Instagram
LinkedIn
YouTube

Cookie settings