July 2020 Online Kotlin Meetup


Details
The third virtual edition of the meetup is Wednesday 1st July from 6 pm BST.
Talks will be recorded and will be available on the Kotlin London Youtube channel (https://www.youtube.com/c/kotlinlondon/).
Spread the word, BYOB and pizza, and join the conversation!
Schedule:
-
6.00 pm: Welcome to the Kotlin Online Meetup
-
6.05 pm: Matt Moore and Nicolás D'Cotta - Adding pattern matching to Kotlin
-
6.45 pm: Garth Gilmour - Generics on the JVM: What you don't know will hurt you
-
7.30 pm: Wrap Up
----------------
Matt Moore & Nicolás D'Cotta - Adding pattern matching to Kotlin
One of the reasons Kotlin has proven so popular is its wide array of abstractions and constructs. But pattern matching, a popular feature that in other languages allows us to easily inspect data and act accordingly, is currently missing.
This talk aims to explore the possibility of adding pattern matching to Kotlin. It will go through why and how it could be done, from adding it to the actual language to using a compiler plugin (much like kotlinx.serialization works).
More specifically, we will discuss:
- Why would Kotlin benefit from pattern matching?
- How do other languages compare?
- If we added it to the language, what could it look like?
- Can we ‘make it’, without baking it into the language?
Matt Moore:
Matt is a Senior Software Engineer at Rally health in Chicago, where he mentors in distributed computing, functional programming, and machine learning. He has led projects in multiple industries including military aerospace, finance and healthcare. His passions include compilers, programming language theory, metaprogramming, functional programming, data science and robotics. His favorite programming languages these days are Scala, Kotlin and Haskell. Outside of coding, he tinkers with airplanes, cars, robotics, reading and music. He also enjoys spending time with his family and friends in the great outdoors and loves to BBQ.
Nicolás D'Cotta:
I am simply a Computing student at Imperial College London.
----------------
Garth Gilmour - Generics on the JVM: What you don't know will hurt you
Generics on the JVM is hard. You don't need to look far to find evidence of this, but a good start would be (the 350 page FAQ)[http://www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html]. Issues with Generics trace back to three root causes. First, the inherent difficulty combining type parameters with sub-typing, second the compromises made in the Java syntax and finally the decision to go for a non-reified implementation.
Kotlin does its best to mitigate these problems. For example, declaration-site variance and type projections are used instead of wildcard types, and reification is supported for type parameters of inline functions. When combined with IDE support this makes generic coding less fraught and much more productive.
This talk will provide an in-depth explanation of what makes the Kotlin approach more appealing, in terms of both code maintainability and the bytecode produced by the compiler. We will also use languages like TypeScript and C# to look at what might become possible in the future, as the Java Platform evolves.
Bio:
Garth is the Head of Learning at Instil. He gave up full-time development back in 1999 to first teach C++ to C coders, then Java to C++ coders, then C# to Java coders and now teaches everything to everybody, but prefers to work in Kotlin. If he counted deliveries it would have gone past 1000 some time ago. He is the author of over twenty courses, speaks frequently at meetups, presents at conferences and co-organises the Belfast BASH series of developer events. When not at the whiteboard he coaches Krav Maga, lifts heavy weights and fights nerf wars with his kids.

July 2020 Online Kotlin Meetup