Commit ID:82b6a4b9103c5b46b7833c92535010bdf9889b71

Ximedes exists to allow a group of smart, friendly and ambitious professionals to work together on relevant and challenging software projects, to the delight of our clients and ourselves. Contact us

Kotlin, a new tool in the box

Joris Portegies Zwart
March 25, 2018

For years, the Java programming language, the Java virtual machine and the rich and diverse ecosystem of open source Java libraries and frameworks have formed the solid technical foundation under our software development center. On this foundation, we have created an innovative, flexible approach to software design and development. We take software quality very seriously, from daily analyses of the technical quality of our source code, to running fully automated unit and integration tests for all our projects.

hunter haley 424256 unsplash

Over the years many programming languages have come and gone, and while some like Ruby and Scala enjoyed periods of hyped expectations, we never found compelling reasons to move away from the Java programming language for server-side development. There are serious costs involved in moving to another programming language, such as the cost of training developers, learning new libraries, and a temporary drop in productivity while everybody is getting used to the possibilities and pitfalls of the new language. None of the hyped languages of the past years seemed to deliver sufficient value to justify these costs.

Until now, that is. Early 2016, a company called JetBrains released version 1.0 of the Kotlin language. Kotlin is a modern language, taking the best parts of languages such as Java, C#, JavaScript, Scala and Groovy, and combining them into a language that is pragmatic, easy to learn, and adresses the needs of today's developers. Compared to Java, Kotlin programs typically require signicantly fewer lines of code, are easier to read, and allow developers to write code that is less likely to contain bugs.

Maybe most important for us, Kotlin is fully compatible with existing Java software and libraries such as Spring and Hibernate. This means we can fully reuse years of experience developing with these frameworks, and incur only a fraction of the costs usually involved in switching to a new language.

The popularity of Kotlin is rising fast. Most major Java libraries have added specific support for Kotlin, making them easier to use from the language. Furthermore, in 2017 Google announced that Kotlin is now a fully supported language for developing Android applications. This is great news for Android developers, who until now were forced to use a very outdated version of the Java language.

For Ximedes, Kotlin is now the default language of choice for new client projects. We feel the language is mature enough, well-supported, and allows developers to deliver better, cleaner code in less time. We will of course provide continuing support for Java now and in the future - Kotlin is just a new shiny tool in the box!