There are many valid practical reasons to avoid Kotlin in certain circumstances (not the least of which being Russian ties). More tools for Java isn't necessarily a bad thing. However I don't really think it works. It reminds me of this blog post: https://www.javacodegeeks.com/2017/02/elvis-not-visit-java.html which I think accurately reflects many of my thoughts about null-safety in Java.
Just the historical Russian ties, which is enough for some people/organizations to avoid them. The biggest practical reason is the dependence on tooling. Kotlin is a great language, but loses a lot of its allure when you can't use an IDE for whatever reason. It makes sense, given that its developed by a company whose main product is IDEs; but it can still be an issue in some circumstances.
What makes kotlin different from any other language in that regard? It’s better to use an IDE that supports the language than a plain text editor that has no tooling. That’s just a fact of programming.
Let me correct a misunderstanding. JADEx was created as a Java superset language to strengthen Java’s insufficient null-related type system. In JADEx, Java’s reference types are assumed to be non-null by default, and through the nullability static analysis results provided by JADEx, developers can explicitly choose to mark types as nullable.
Because of this, there is no problem using null-safe access operators and the Elvis operator.
To summarize:
Java: All types are nullable; there is no non-null type. Therefore, Elvis operators and null-safe access operators cannot be used.
JADEx: Both nullable and non-null types exist. Therefore, Elvis operators and null-safe access operators can be used.
Good clarification, thank you. I guess it would still require some extra care when interfacing with plain Java libraries, but so does e.g. Kotlin. Cool implementation.
8 Comments
tyler@programming.dev · 0 pts · 185d
People will do anything to avoid switching to Kotlin. Geez
lambdabeta@lemmy.ca · -2 pts · 184d
There are many valid practical reasons to avoid Kotlin in certain circumstances (not the least of which being Russian ties). More tools for Java isn't necessarily a bad thing. However I don't really think it works. It reminds me of this blog post: https://www.javacodegeeks.com/2017/02/elvis-not-visit-java.html which I think accurately reflects many of my thoughts about null-safety in Java.
tyler@programming.dev · 3 pts · 184d
What Russian ties? JetBrains is a Czech company, with very little income from Russia. They suspended sales in Russia and Belarus in 2022. https://www.jetbrains.com/lp/annualreport-2022/
And please do list the practical reasons for avoiding Kotlin.
lambdabeta@lemmy.ca · 1 pts · 182d
Just the historical Russian ties, which is enough for some people/organizations to avoid them. The biggest practical reason is the dependence on tooling. Kotlin is a great language, but loses a lot of its allure when you can't use an IDE for whatever reason. It makes sense, given that its developed by a company whose main product is IDEs; but it can still be an issue in some circumstances.
tyler@programming.dev · 1 pts · 181d
What makes kotlin different from any other language in that regard? It’s better to use an IDE that supports the language than a plain text editor that has no tooling. That’s just a fact of programming.
justicecoder@programming.dev · 1 pts · 184d
Let me correct a misunderstanding. JADEx was created as a Java superset language to strengthen Java’s insufficient null-related type system. In JADEx, Java’s reference types are assumed to be non-null by default, and through the nullability static analysis results provided by JADEx, developers can explicitly choose to mark types as nullable. Because of this, there is no problem using null-safe access operators and the Elvis operator.
To summarize:
lambdabeta@lemmy.ca · 1 pts · 184d
Good clarification, thank you. I guess it would still require some extra care when interfacing with plain Java libraries, but so does e.g. Kotlin. Cool implementation.
justicecoder@programming.dev · 1 pts · 184d
We hope you continue to show great interest in JADEx. Thank you :)