Blogg

Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på Twitter

Callista medarbetare Pär Wenåker

Scala Exchange, dag 2 - Kompositionalitetsprincipen

// Pär Wenåker

Andra dagen på Scala Exchange började med en uppfriskande och underhållande keynote om Apache Spark av Holden Karau. Det handlade om vilka designbeslut som man tagit i Spark och varför vissa saker inte fungerar som man tror. Vi fick också lära oss att man i princip alltid ska använda Dataframe istället för RDD.

Min dag fortsatte med ett föredrag av Michal Plachta om hur man kan isolera delar av sitt program och minska beroenden genom att använda free monads från biblioteket Cats och hur man kan minska ”boilerplate”-kod med biblioteket Freestyle. Han visade med ett enkelt exempel hur man kan eliminera beroenden i programmet och lägga till nya features utan att göra stora ändringar i många filer. Såg väldigt trevligt ut.

Null

Det föredrag som jag valde innan lunch handlade om Akka och Akka Streams med backpreassure (för man måste får in liten dos av Akka på varje Scalakonferens). Det mesta av teorin hade jag ganska klart för mig innan, men demonstrationen i slutet var riktigt bra. Med en enkel setup med Cassandra, en http-server och en http-klient visade föreläsaren tydligt hur backpreassure fungerar. Genom att köra linuxkommandot ss och Wireshark kunde man se hur TCP send och receive-buffrar fylldes och tömdes. Efter lunch lyssnade jag på ett föredrag om ett bibliotek byggt med ”dependent types” som kan användas för att skriva bättre asynkrona program och ett föredrag om serialiseringsprotokoll för Scala och Java.

Det roligaste föredraget på eftermiddagen var nog ändå det om Akka.js. Föreläsaren Andrea Peruffo visade hur man via ScalaJS kan köra Akka i Javascript. Både i Node.js på backend och i browsern. Han demonstrerade genom att bygga en klassisk Twitter-stream-applikation baserad på Akka i Scala, som han sedan körde i Node.js och i browsern. Riktigt häftigt teknik och ScalaJs imponerar åter med hur enkelt det är att översätta ett Scalaprogram till optimerad Javascriptkod.

Dagen avslutades med Runar Bjarnason som höll en avslutande keynote om hur man komponerar program. Han beskrev stora delar av Kategoriteori, men på ett annat sätt än som gjordes på den öppnande keynoten på torsdagen. Man kan sammanfatta hans föredrag med att programmeringsspråk som inte följer kompositionalitetsprincipen är meningslösa…

Runar Bjarnason

Sammanfattningsvis tycker jag att det var en bra konferens som (som vanlig) håller en bra kvalité. Man har en hel del mycket avancerade föredrag att välja på, men också många som är mer lättsmälta. Fokus i år låg på funktionell programmering, och det pratades mycket om att typer är nödvändiga och att sidoeffekter är dåliga och måste isoleras. Konferensen har också genomsyrats av typnivåprogrammering, kompositionalitetsprincipen, reaktivitet och en hel del av kategoriteori. Programmet finns tillgängligt här tillsammans med videor av föredragen.

Tack för att du läser Callistas blogg.
Hjälp oss att nå ut med information genom att dela nyheter och artiklar i ditt nätverk.

Kommentarer