|
|
|
|
|
by justthistime_
3885 days ago
|
|
- extension methods - property syntax + magic identifier - reified - immutable wrappers around mutable collections - const - multiple redundant ways of defining generic upper bounds - companion objects + syntax - operator/infix rules - constantly changing nullability rules |
|
As Scala (or Ceylon) has such radically different goals from Kotlin, it doesn't make much sense to discuss which features were imported and how without first understanding the why. Kotlin's designers didn't say, "I like this Scala feature but not that one"; they said, "we have this goal and this Scala feature serves it but that one doesn't". A language is not measured by what features it has, but by how those features serve its goals, and whether those goals are appropriate to begin with (i.e. provide a good cost/benefit ratio).