6 July 2017

What I learn from 017 : Kotlin Dojo by Kotlin London User Group

Recently, I spoke with some colleagues about Kotlin and I decided to do some research about this language. Kotlin is a statically typed programming language that runs on the JVM and it can be translated into ECMAScript apparently. My first impression about Kotlin was it is like Java without a legacy mess and with many synthetic sugar features but at the time of writing this, I didn’t explore language enough to make any statement with some evidence. 

Accidentally, I discover Kotlin London Meetup that was organizing the Kotlin-Dojo. I always want to see how dojo sessions look like, so it decided to attend.  Before I went, I managed to grasp basic syntax and that turns out to be a bare minimum to be able to enjoy this dojo. 

 It was very well organized. Quick introduction, tasks were usually well explained and they have some learning value (not only code practice) and they provide links to various references. Some exercises were about learning Kotlin. Some of them show when IntelliiJ was helpful and where was misleading. Presenters after some time show solution and give an opportunity to others to show their solutions too. 
 I paired with a guy who seems to know many things so I could learn a lot and as I saw some syntax I was able to contribute some stuff too. What I learn from Kotlin Dojo:
  1. Kotlin has decent IDE support but still, there are many misleading glitches.
  2. Kotlin is an interesting language to learn, but I feel it is more a mod to Java language than independent language.
  3. It is mature enough to be used in production. There are already a few companies who are using Kotlin.
  4. I really like some synthetic sugar in Kotlin like var (mutable variable) and val (immutable value) and much more.
  5. I have noticed that when other languages that compare themselves to Java, they highlighting fact that they compressed syntax to improve readability. Yes, there is less noise on screen and it makes developing is faster but later on, understand and debugging code us more difficult. These syntax optimizations reduce readability and memorability (ability to re-learn what code does and why). So far I have noticed this problem in Groovy, Scala and ... Kotlin where somebody struggles to understand what compiler was moaning about

 Overall, it was a great meetup. I will try to attend in future. In 2018 where I am planning learning this language as 2017 is a year I am learning Python.

 If you are interested in learning Kotlin, check this meetup:

 If you want to see exercise check this github: https://github.com/springernature/kotlin-dojo