I am a very experienced programmer and, I have been with Kotlin for a few months and I love it. However some stuff are annoying. I know that it’s a very personnal list but here is my top five.
a) Destructuring multiple function return demands
It’s very artificial for me. Sometimes it forces me to copy that variable to another variable if inside curly brackets or I need to create artificial classes with no cohesion.
b) Most custom inline symbol operators used defined demands “” or there is no priority setting. I’m doing scientific programming, so it’s natural I define
^ power operations, it’s best than
pow, but yet annoying. I need use parenthesis everywhere.
c) Android Studio is guilty of this, but
Step Into enters in classes and objects non-configurably, as in Java. So I need to go to called function by hand and after select
Run to Cursor, otherwise it is an eternal pain
d) Kotlin type check is great, but some decisions of
Kotlin designers are exaggerated. 1/2 returns 0. it’s not intuitive at all. Division (/) it’s a rare operatior where people wait for Double or Float and not Integer or Long. Some languages uses another operator for integer division.
e) You cannot skip parameters when one calls a function, using 2 commas in a row, that the skipped parameter hast a default value defined. There is no logic for that language design decision, in my opinion, because default value is there exactly for this.