I mean, ignoring functional stuff which is in Java 8 but not on Android because Android is still(?) on Java 7, that's all I'm really seeing here.
I mean, ignoring functional stuff which is in Java 8 but not on Android because Android is still(?) on Java 7, that's all I'm really seeing here.
After porting our code base to Kotlin we found it provides more benefits over Java than just being less typing / "syntactic sugar". To name a few:
- First class functional support (streams feel clunky in comparison).
- Extension functions [1].
- Nullable types (compile-time null checking).
- Less verbose as types declarations are optional in many situations.
- Great interop & tooling from JetBrains makes a slow transition from Java -> Kotlin pretty seamless.
[0] https://developer.android.com/studio/preview/features/java8-...I mean, I wouldn't agree with the classification of any of those languages as the syntactic sugar of whatever. C is portable ASM, which is a big deal. C++ is object oriented C, which is a different paradigm and feels a lot more salty than C because of the increased complexity. Java was rather ambitious (safe to say overly so) and brought with it a lot of differences with C++ that were not just syntax (which is definitely sweeter).
What does Kotlin give me besides less verbose syntax and some nice compile time null checking?
Default and static interface methods
Lambda expressions
Repeatable annotations
Method References
Type Annotations