Kyiv JUG + Kotlin User Group + 17th of February = Kotlin Morning@Lohika. Good friends created a unique opportunity either to learn from scratch or to upgrade Kotlin knowledge in a warm and cosy atmosphere.  A paired presentation from two professionals was both theoretical and practical, with lot’s of code examples.

 

Kotlin for Java developers: How and Why

from Marharyta Nedzelska – Software Engineer, Wix & Andriy Rodionov – Instructor, Epam


If you’re a Java developer for some years and you’re fed up with NPE, Checked Exceptions, casts and many other things that makes you mad and thinking of becoming a farmer, this talk was for you. Find out that Kotlin is a great solution for these problems. We discussedtalk about differences between Kotlin and Java, key features of this language and how they are implemented, and of course we will read and write code.

Agenda:

  • differences between Java and Kotlin
  • null safety
  • extension functions and properties
  • smart casts
  • delegates
  • lambdas
  • let, apply, with, run, also functions
  • infix functions
  • multithreading and coroutines
  • other Kotlin features

Here are some slides from both theoretical and practical parts of the event:

KOTLIN_FOR_JAVA_DEVS

and

Kotlin Demo

also a piece of code is available HERE .

In general this talk tried to answer two major questions: “Why do we need to learn Kotlin?” and “How to learn it?” Also, there was a TDD ping-pong session with KotlinTest.

Marharyta Nedzelska – Software Engineer, Wix

Marharyta is a software engineer at Wix Ukraine, as well as Kyiv Kotlin User Group Leader. She was involved at JavaDay UA’17 as a program committee member, and was a speaker at IT-Weekend Chernivtsi and JUG.UA meetup. Marharyta is currently interested in Kotlin, Scala, IoT and microservices architecture.

Andrii Rodionov – Instructor, Epam

JUG UA leader, organizer of JavaDay UA conference. Java instructor at EPAM Systems and Associate professor at National Technical University of Ukraine and Ukrainian Catholic University.

powered by Typeform