Friday, 14 April 2023

KotlinConf 2023

So I was able to attend my first KotlinConf1.

My experience with Kotlin is fairly new. I enjoy programming in both Java and Kotlin. I decide on a case by case basis what I pick.

Our current code base is a mixed bag of the two.

Sessions

I attended the following sessions on April 13 2023:

Opening Keynote2
I got some interesting news on the Kotlin version 2.0. It's coming.
Kotlin & Functional Programming: pick the best, skip the rest (Urs Peter)
Finally a nice talk about functional programming, a clear explanation of the illusive Monad, and what the advantages are of functional programming and which way we're going. Also took a look at Arrow3 for more idioms with functions.
Dissecting Kotlin: Unsealing the Sealed, the SAM, and Other Syntax (Huyen Tue Dao)
What is idiomatic Kotlin? It gave a great overview of the different features there are already in Kotlin, and how they should be used, and what little things we need to pay attention to when we do use them.
Replacing SQL with Kotlin's 'dataframe' on the Las Vegas Strip (Andrew Goldberg)
A nice talk which explains well what a dataframe is. And that with dataframes you can basically do all the operations that I am used to performing on (relational) databases with SQL, but a lot faster, as you're doing things locally? Coupling different data sources together.
Confetti: building a Kotlin Multiplatform conference app in 40min (John O'Reilly, Martin Bonnin)
A good example of using GraphQL and Compose to multiplatform create different mobile apps. Interestingly, they decided not to use Compose for the IPhone, as using Compose apparently causes different UI behaviour (Android behaviour) on the IPhone. Also extremely interesting use of livetemplates.
The Changing Grain of Kotlin (Nat Pryce, Duncan McGregor)
An interesting talk by some folks who wrote a book ("Java to Kotlin: A Refactoring Guidebook"). The talk was about how Kotlin has evolved and how this impacts old code, how it shapes new code, and how it all interacts.

Sessions I would like to have seen if I had the time:

Writing backend APIs in a functional programming style (James Lamine)
Transforming Farmer's Lives Using Android in Kenya (Harun Wangereka)

I attended the following sessions on April 14 2023:

Six Impossible Things (Kevlin Henney)
Massively entertaining talk about software design in general, and some of its history.
Coroutines and Loom behind the scenes (Roman Elizarov)
Very informative talk, basically centering on what the reason was for creating Loom and what the reason was for creating Coroutines and why they can co-exist.
KotlinX Libraries (Anton Arhipov, Svetlana Isakova)
Very informative talk, basically the extended libraries you can use to make your application independent of platform. Serialization, Coroutines, Immutable collections, and more.
How we’re improving performance of IntelliJ IDEA Kotlin plugin (Vladimir Dolzhenko)
Very interesting, contains some tidbit on why some of the things in the plugin are so difficult, as well as how much Kotlin leans on the Java AST and the compiler.
Kotlin Native for CLIs (Ryan Harter)
An explanation on what things to use and what problems you encounter and some benchmarks on creating native commandline tools using Kotlin. In this case it was "differ" a fairly simple tool for compare two images.
Gilded Rose Refactoring Kata (Dmitry Kandalov)
A refactoring kata primarily done with the standard refactoring possibilities for Kotlin in the IntelliJ IDEA. The Kata is from github5 created by Emily Bache6.

Sessions I would like to have seen if I had the time:

Handling billions of events per day with Kotlin Coroutines (Florentin Simion, Rares Vlasceanu)
Evolving your Kotlin API painlessly for clients

I think all sessions will be viewable sometime on the youtubes.

References

[1] KotlinConf 2023
https://kotlinconf.com/
[2] KotlinConf 2023 - Keynote
https://www.youtube.com/watch?v=c4f4SCEYA5Q
[3] Arrow brings idiomatic functional programming to Kotlin
https://arrow-kt.io/
[4] http4k - The Functional toolkit for Kotlin HTTP applications
https://www.http4k.org/
[5] github.com - Gilded Rose Refactoring Kata by Emily Bache
https://github.com/emilybache/GildedRose-Refactoring-Kata
[6] Emily Bache
https://github.com/emilybache

No comments:

Post a Comment