Kotlin
From APIDesign
(Difference between revisions)
(3 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
- | [[wikipedia:Kotlin_(programming_language)|Kotlin]] is the [[Java]] 2.0 people were always asking for. | + | [[wikipedia:Kotlin_(programming_language)|Kotlin]] is the [[Java]] 2.0 people were always asking for. |
- | Try to debug annotation processors in [[Gradle]] (which is the default build tool for [[Android]]) and | + | == Improvements == |
+ | |||
+ | === Extension Methods === | ||
+ | |||
+ | {{:ExtensionMethods}} | ||
+ | |||
+ | |||
+ | == Drawbacks == | ||
+ | |||
+ | However [[Kotlin]] also comes with own glitches. | ||
+ | |||
+ | Try to debug annotation processors in [[Gradle]] (which is the default build tool for [[Android]]) and '''Kapt''' isn't easy. One has to: | ||
<source lang="bash"> | <source lang="bash"> | ||
./gradlew --no-daemon clean build -Dkotlin.daemon.jvm.options="-Xdebug,-Xrunjdwp:transport=dt_socket\,address=5006\,server=n\,suspend=n" | ./gradlew --no-daemon clean build -Dkotlin.daemon.jvm.options="-Xdebug,-Xrunjdwp:transport=dt_socket\,address=5006\,server=n\,suspend=n" | ||
</source> | </source> | ||
- | I wish it was as easy as debugging the [[Maven]] in [[NetBeans]] as explained in | + | I wish it was as easy as debugging the [[Maven]] in [[NetBeans]] as explained in [[debugger|Use the Debugger. Stupid]] article! Here is the [https://medium.com/@daptronic/annotation-processing-with-kapt-and-gradle-237793f2be57 page that helped], at the end. |
+ | |||
+ | === Forget Kotlin, use (modern) [[Java]]! === | ||
+ | |||
+ | {{#ev:youtube|ua-8ySwFgqg}} |
Current revision
Kotlin is the Java 2.0 people were always asking for.
Contents |
Improvements
Extension Methods
A way to extend RootClass (or any other class) with functionality without disturbing others. Way better than DefaultMethods. Used in Kotlin. And also in Enso.
The basic idea is to avoid extending RootClass physically, but rather extend it virtually via a lexical compilation scope.
See wikipedia:Extension_method explanation which may agree or contradict my view.
Drawbacks
However Kotlin also comes with own glitches.
Try to debug annotation processors in Gradle (which is the default build tool for Android) and Kapt isn't easy. One has to:
./gradlew --no-daemon clean build -Dkotlin.daemon.jvm.options="-Xdebug,-Xrunjdwp:transport=dt_socket\,address=5006\,server=n\,suspend=n"
I wish it was as easy as debugging the Maven in NetBeans as explained in Use the Debugger. Stupid article! Here is the page that helped, at the end.