Home » JVM Languages » Kotlin

Kotlin

Kotlin – Tuple type

It is very simple to write a Tuple type with the expressiveness of Kotlin. My objective expressed in tests is the following: 1. Be able to define a Tuple of up to 5 elements and be able to retrieve the elements using an index like placeholder, in a test expressed with 2 elements like this: val tup = Tuple("elem1", "elem2") assertThat(tup._1).isEqualTo("elem1") assertThat(tup._2).isEqualTo("elem2") ...

Read More »

Kotlin – Try type for functional exception handling

Scala has a Try type to functionally handle exceptions. I could get my head around using this type using the excellent Neophyte’s guide to Scala by Daniel Westheide. This post will replicate this type using Kotlin. Background Consider a simple function which takes two String, converts them to integer and then divides them(sample based on scaladoc of Try) : fun ...

Read More »

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 »