Kotlin

Here’s a collection of all (assuming I remember to keep it up-to-date) of my posts about Kotlin.

I Found My Java Remake!

Previously, I had posted the types of features I would want in Java, while largely keeping the Java syntax. This was the post where I write about my initial discovery of Kotlin and how it almost perfectly met that list.

Flag Parameters and Overloading in Python, Java, and Kotlin

There are different idioms in different languages for doing the same thing. Being young, Kotlin doesn’t have all of its idioms figured out. Let’s look at one as a median between Python and Java.

Mimicking Kotlin Builders in Java and Python

One of the coolest things Kotlin has to offer is type-safe builders, built upon several simple features. I find myself really really wanting to have this feature in my other two primary languages, Java and Python. This article explains what I believe to be the closest we can get to having type-safe builders in those languages.

Kotlin-like Builders in Java and Python, Continued: Additional Parameters

We follow up the previous post about Kotlin-like builders in Java and Python to expand the code for dealing with optional parameters nicely.


Kotlin Month!

Four new posts of a mini series discuss some of my favorite features of Kotlin.

Post 1: Assorted Features
Post 2: Inheritance and Defaults
Post 3: Safety
Post 4: Properties

Improved Pattern Matching in Kotlin

Kotlin’s when expressions can be somewhat looked at as a pattern-matching system in Python, but it is by no means as fully-featured at true pattern matching systems in languages that have it. This shows a small technique that shows a little more of what’s possible with the when expression, even though, after learning more about real pattern matching, it clearly doesn’t actually work any more or less like actual pattern matching.

Discussion of Kotlin’s Future Features Survey

Here, I discuss my feelings on the results of Kotlin’s Future Features Survey, a survey to find out what new features users really wanted.