Home » JVM Languages » Kotlin


Kotlin for Java Developers: 10 Features You Will Love About Kotlin

Kotlin is a statically typed JVM language built by Jetbrains, the makers of the IntelliJ IDE. Kotlin is built upon Java and provides useful features such as null-safety, data classes, extensions, functional concepts, smart casts, operator overloading and more. This crash course into Kotlin for Java developers demonstrates the most important advantages that Kotlin has over Java and compares some of the ...

Read More »

Kotlin + Android First Impressions

I am a huge Android fanboy, and have been one ever since the Nexus One came out. The Android OS has evolved so much and into so many variations. Almost a year ago, one of the Android developers I follow on Twitter was pushing for Kotlin to be the main language for Android. What was more interesting was it was ...

Read More »

10 Features I Wish Java Would Steal From the Kotlin Language

This article is overdue. After the hype around the release of Kotlin 1.0 has settled, let’s have a serious look at some Kotlin language features that we should have in Java as well. In this article, I’m not going to wish for unicorns. But there are some low hanging fruit (as far as I naively can see), which could be ...

Read More »

Kotlin Month Post 4: Properties

Intro In this, the fourth and final post in the Kotlin Month series, we take a look at a widely overarching feature of Kotlin that is tightly coupled with a few other features: Properties. Besides the obvious benefits of properties that they provide in all languages, Kotlin has reusable properties via Delegated Properties as well as really clean syntax for ...

Read More »

Kotlin Month Post 3: Safety

Intro In this third post for Kotlin Month, I’m going to go over some of the safety features that Kotlin comes with. Follow the link to see the previous posts. Null Safety This is one of the most touted features of Kotlin, from what I’ve seen. Personally, it has given me a little bit of grief, but some built-in property ...

Read More »

Kotlin Month Post 2: Inheritance and Defaults

Intro Continuing on with Kotlin Month, this week, I’ll be discussing topics in Kotlin that have to do with inheritance and default values. Composition Over Inheritance Kotlin has put in a feature and a couple defaults that help developers keep the principle of Composition Over Inheritance at the forefront of their mind. The first of these is a feature that ...

Read More »

Kotlin Month Post 1: Assorted Features

To open up Kotlin Month, we’ll look at a small assortment of Kotlin’s features that aren’t big enough to merit their own post and don’t fit into a grouping for the upcoming posts, starting with operator overloading. Operator Overloading Because of the mess it made in C++, Java decided to not include operator overloading, and it has unfortunately stuck to ...

Read More »

A Very Peculiar, but Possibly Cunning Kotlin Language Feature

This has caught me by surprise. After studying the Kotlin language to learn about how to best leverage this interesting new language for jOOQ, I stumbled upon this puzzler. What do you think the following program will print? fun main(args: Array) { (1..5).forEach { if (it == 3) return print(it) } print("done") } Well… You might have guessed wrong. The ...

Read More »

Null safety in Kotlin

Kotlin is a statically typed JVM language developed by Jetbrains. It has some good documentation so today I will focus on a tiny part of it – null safety. There are at least couple of approaches to null handling in JVM languages: Java doesn’t go much further than C – every reference (“pointer”) can be null, whether you like it ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Spring Interview QnA
  • Multithreading & Concurrency QnA
  • JPA Minibook
  • JVM Troubleshooting Guide
  • Advanced Java
  • Java Interview QnA
  • Java Design Patterns