Christian Woerz
Route from Java to Kotlin
#1about 3 minutes
Introduction to Kotlin and its Java interoperability
Kotlin is a mature, multi-paradigm language that is fully interoperable with Java libraries and is used in production by major companies.
#2about 5 minutes
Defining variables and working with strings in Kotlin
Learn Kotlin's basic syntax for variables using `var` and `val`, how type inference simplifies code, and how to use string templates for concatenation.
#3about 5 minutes
Using expressions instead of statements for cleaner code
Kotlin treats control flow structures like `if-else`, `try-catch`, and the powerful `when` block as expressions that return a value, eliminating temporary variables.
#4about 7 minutes
Writing concise functions with named and default arguments
Simplify function definitions using expression bodies for single-line returns and avoid method overloading by using named and default arguments.
#5about 5 minutes
Iterating with loops, ranges, and collections
Use Kotlin's intuitive syntax for `for` loops with ranges (`..`, `until`, `downTo`) and iterate over immutable lists with index destructuring.
#6about 8 minutes
Achieving null safety with nullable types and operators
Prevent null pointer exceptions by using Kotlin's type system, which distinguishes between nullable and non-nullable types, along with the safe call (`?.`) and Elvis (`?:`) operators.
#7about 5 minutes
Applying functional programming with lambdas and collections
Define and use lambdas with a concise syntax, leveraging the implicit `it` parameter and trailing lambda syntax for clean collection operations like `filter`.
#8about 4 minutes
Extending existing classes with extension functions
Add new functionality to any existing class, including final Java classes, without using inheritance by defining extension functions.
#9about 4 minutes
Understanding classes, data classes, and operator overloading
Use `data class` to automatically generate `equals`, `hashCode`, and `toString`, and learn how operator overloading can create more readable code for types like `BigDecimal`.
#10about 11 minutes
Audience Q&A on Kotlin features and learning resources
The speaker answers audience questions about Kotlin's relationship to Scala, the potential dangers of operator overloading, and recommended learning resources.
Related jobs
Jobs that call for the skills explored in this talk.
Java / Kotlin Developer in einem Cloud-Native-Stack
PROSOZ Herten GmbH
Herten, Germany
Intermediate
Senior
Matching moments
32:54 MIN
Achieving interoperability between Java and Kotlin code
Why Kotlin is the better Java and how you can start using it
00:04 MIN
A high-level comparison of Kotlin and Java
Why Kotlin is the better Java and how you can start using it
37:58 MIN
Practical resources for getting started with Kotlin
Why Kotlin is the better Java and how you can start using it
50:34 MIN
Q&A: Comparing Kotlin's ecosystem and future outlook
Why Kotlin is the better Java and how you can start using it
00:05 MIN
An introduction to Kotlin and its Java interoperability
Moving from Java to Kotlin
27:37 MIN
Understanding Java's remaining unique language features
Why Kotlin is the better Java and how you can start using it
00:07 MIN
Understanding the core principles of Kotlin Multiplatform
Introducing Kotlin Multiplatform in an existing project
31:12 MIN
Key takeaways for starting with Kotlin Multiplatform
Kotlin Multiplatform - True power of native code reuse
Featured Partners
Related Videos
Why Kotlin is the better Java and how you can start using it
Iris Hunkeler
Moving from Java to Kotlin
Urs Peter
Java Sealed Classes vs. Kotlin Sealed Classes #Slideless
Lothar Schulz
Java 21: The Revolution of Virtual Threads - A Deep Dive
Christian Woerz
Best of Java 15 and beyond—my favorite features
Michael Inden
Java with a Clojure mindset
Dan Lebrero
2021: Familiar APIs on Kickass Runtimes #slideless
Adam Bien
Introducing Kotlin Multiplatform in an existing project
Marco Gomiero
From learning to earning
Jobs that call for the skills explored in this talk.

Tech Lead (m/f/d) - Berlin
Patronus Group
Berlin, Germany
Senior
Kotlin
Android
Angular
Spring Boot
Amazon Web Services (AWS)


Senior Java Entwickler – Backend (w/m/d)
ING Deutschland
Frankfurt am Main, Germany
Senior
Java
Spring Boot

Senior Java Developer
Picnic Technologies B.V.
Amsterdam, Netherlands
Senior
Java
Spring
Amazon Web Services (AWS)

(Junior) Java Software-Entwickler (m/w/d)
Finanz Informatik
Frankfurt am Main, Germany
Junior
Java
Spring
JavaScript


