Introduction to Kotlin for Java Developers
What you'll learn
- Solve problems in Kotlin
- Understand Kotlin's advantages over Java
- Effectively leverage Kotlin's null safety and mutability guarantees
- Speed up work with collection using Kotlin's collection operationrs
- Have fun with a new JVM language!
- A basic knowledge of Java is beneficial
This is a course on the Kotlin programming language. Kotlin is a programming language made by JetBrains which targets the JVM. Kotlin is designed to be a better Java. It is more concise, safer, has better support for functional programming and is designed to speed up everyday development tasks. Kotlin also has great tool support, since it's made by the makers of IntelliJ IDEA, the world leading IDE.
This course is designed for people already familiar with Java who are looking for a more modern, expressive and powerful language for the JVM.
In this course, you will learn about:
How to install and run Kotlin and why toolability matters (I use IntelliJ)
Type inference and how it can save you a lot of time
Smart control flow structures that let you write more succinctly
Mutability options (val and var), what they mean and how to use them
Nullability guarantees and how they make your code more safe
The power of functional literals (nested functions and lambdas)
Powerful built-in delegation functionality
How to leverage Kotlin's collection operations to process data sets efficiently
...and a lot more!
This course is completely live-demo based. All the lectures are examples of real code being edited and executed using the IntelliJ IDEA Community Edition IDE.
Update: Google has just announced official support for Kotlin on Android. Congratulations to the Kotlin team!
Who this course is for:
- Android developers wishing to learn the latest Google-approved language
- Java developers looking for a better programming language
- Developers looking for interesting language design ideas
Dmitri is a quant, developer, book author and course author. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C# and C++ programming as well high-performance computing using technologies such as CUDA and FPGAs. He has been a C# MVP since 2009.