Ever since Google made Kotlin the official language of Android, I had tried to look at it. As usual I tried it out as part of RandomContact app and just used a few simple features and found it to be consice and powerful. So when I wanted to rewrie MessageCounter app to make use of Android Architecture Components, I decided to jump all in and rewrite the entire app in Kotlin. Below are few snippets that I came across and liked a lot. Data Classes Creating a data or POJO class is so easy using the data keyword. It automatically generates a constructor, all setters and getters as well as equals and hashcode methods. This reduces a lot of boiler plate code especially if there are a lot of members. We can also create secondary constructors which have can assign default values for certain fields. String Concatenation Rather than join some strings using + operator, kotlin provides String interpolation as below. Creating lists or maps After creating a List type object, I was looking for an add method which was not found. Thats when I understoord that Lists are immutable by default. You need to create a list of type MutableList to be able to add data to it. References https://kotlinlang.org/ 10 Kotlin Tricks by Jake Wharton - https://www.youtube.com/watch?v=0sPzDwS55wM https://medium.com/@magnus.chatt/why-you-should-totally-switch-to-kotlin-c7bbde9e10d5