Kotlin killer features for programmers and software engineers (part 2)
In a previous story, I’ve discussed why Kotlin is a better Java than Java: with its concise syntax, its convenient features (type inference, extension functions, operator overload), it’s a pleasure to work with this language (and, in my opinion, makes it painful when I have to work again with Java).
But when you’re building software, the comfort of the developers should not be the main feature you expect from a language. You need something which is:
- Robust, safe (null-safe, thread-safe, etc.)
- Easy to test, easy to debug
- Reusable and easy to maintain
- With a rich ecosystem of available libraries, compatible with the existing codebase of the company
- Portable
And Kotlin being designed to be a language suitable for the needs of the industry, it provides several exciting features to address these issues.
Functional programming and internal DSL
Kotlin isn’t a “pure functional language” like Clojure or Scala intends to be. Yet, it offers a lot of the characteristics provided by these functional languages.