Kotlin has certainly changed since 2011, but I do ...
# random
b
Kotlin has certainly changed since 2011, but I do feel that there is one particular criticism which still applies:
Extension functions are shortsighted because they only make a class get new methods but do not let it implement new interfaces. In any mature framework, the primary reason for a method to exist is to implement some interface. Extension functions don't scale up to that usage.
I feel the pain of this one regularly when programming with Spring. How convenient it would be, to implement interfaces on objects I don't control!