BrabantJUG @ Pancompany HQ

13 december 2022

Op 3 december was Pancompany host van de laatste meetup van 2022 van BrabantJUG. Onze collega Danny doet verslag van de presentaties van sprekers Ties van de Ven en Tom Cools.

Functional programming in Kotlin: exploring Arrow

Ties heeft ons verteld over functioneel programmeren binnen Kotlin en waarom je het Arrow framework eens moet bekijken. Het idee achter Arrow is om je op compile time (dus heel snel!) al feedback te geven of hetgeen je aan het doen bent in code wel kan/mag. Aan de hand van wat code voorbeelden gaf hij middels een ‘deel’ (1%2) voorbeeld aan dat er meerdere wegen naar Rome leiden. Je kan gebruik maken van excepties. Maar dan vertelt de compiler je niet dat er iets fout gaat en kom je er op runtime pas achter dat er dingen stuk gaan. Je kan gebruik maken van het nullable type in Kotlin. Wat naar mijn mening niet zo heel lekker leest. Of je zou ook gebruik kunnen maken van Kotlin Monads uit het Arrow framework in de vorm van het ‘Either’ type. Het Either type laat je nadenken over hoe je met fout situaties (Left) en je goed situaties (Right) moet omgaan op compile time. Als kers op de taart liet Ties ons ook nog zien hoe je met behulp Optics (Lens) diep geneste immutable objecten kan ‘aanpassen’ (clonen).

Al om al een heel leuke en informatieve talk die mijn interesse in Kotlin weer heeft aangewakkerd!

Learning Through Tinkering

Met een achtergrond in het onderwijs gaf Tom ons de stelling mee dat net als vele dingen, kennis ook een ‘half-life’ heeft. Oftewel dat je kennis na 2-5 jaar nog maar de helft was van wat je nu weet. Daarentegen is het lastig om nieuwe dingen te leren en te onthouden door een zogenaamde ‘cognitive load’. Er zijn maar een bepaald aantal zaken die je tegelijk kan verwerken en uiteindelijk kan opslaan in je geheugen. Het is dus heel belangrijk voor je om te weten waar je interesses wel en niet liggen, zodat je je daar op kan focussen. Ook gaf Tom aan dat het belangrijk is wat je wilt leren te beperken tot kleine brokken. Dat helpt minder te frustreren als je iets nieuws wilt leren. Ik herken me hier wel in. Omdat ik vaak te hard van stapel loop, alles tegelijk wil doen en daarna stop omdat het dan niet lukt of er gewoonweg te veel is waar je mee bezig bent. Als laatste werd het reflecteren op waarom iets nou niet lukte benoemd. Je leert jezelf leren wat je wel en niet kan en waar je je tijd wel in wilt investeren.

Een hele interessante talk, die in mijn geval mooi aanhaakte op de eerste talk. Zodat ik dit keer klein kan beginnen met Kotlin en leer het dit keer wel in kleine brokjes te doen.

Selecteer je weergave.