Why I Built JADEx Instead of Switching to Kotlin (jadex.hashnode.dev)
from justicecoder@programming.dev to programming@programming.dev on 08 Apr 17:10
https://programming.dev/post/48500870

JADEx is a solution designed to enhance null-safety in Java. Its key advantage is that existing Java developers can gain null-safety and final-by-default semantics without any learning curve. As a result, compared to migrating to Kotlin, JADEx offers a much more cost-effective way to significantly improve the stability of the legacy Java codebases that many companies continue to operate.

#programming

threaded - newest

Quetzalcutlass@lemmy.world on 08 Apr 17:37 collapse

My main concern with using something like this in a business is whether it will still be maintained a decade or two from now. Kotlin has the support of several major players in the Java ecosystem and is virtually guaranteed to stick around. If JADEx is abandoned, it becomes an additional maintenance burden on the team.

(Though point in your favor, they can maintain it since it’s open-source. Greybeards have nightmares about updating critical projects reliant on old, long-abandoned abandoned C/C++ dependencies.)

Unlike a Kotlin migration, there’s no new language for the whole team to learn, no need to flip the entire codebase at once.

Kotlin is designed for trivial bidirectional Java interop. Mixed-language projects are explicitly supported as a basic feature, so you don’t have to convert the entire codebase at once. You can go through file-by-file, rewriting a single class in Kotlin at a time, same as in JADEx.

I’ll admit null safety in a mixed codebase can be a pain* - though I’m guessing JADEx doesn’t escape that pain point either. Edit: the same issues Kotlin has are mentioned in the article, though both languages provide tools to find and fix them.

* Also needing to spam @JvmName and @JvmStatic everywhere to make everything compile into the proper Java equivalent. Moving statics to an auto-generated ClassNameKt.class by default and the whole companion object model are the two things I hate most about Kotlin.

justicecoder@programming.dev on 08 Apr 18:06 collapse

JADEx will be maintained for as long as I’m alive, so I suppose I’d better try to stick around as long as possible.

Seriously though, I’d love for more people to get involved and contribute to the project. The more contributors it has, the less that concern applies. If JADEx’s direction resonates with you, any contribution (whether it’s code, money, feedback, or just spreading the word) is genuinely appreciated.

Quetzalcutlass@lemmy.world on 08 Apr 18:18 collapse

It definitely looks interesting! I’ll star and follow it later, though I don’t personally know any teams that could make use of it (they all either started migrating to Kotlin years ago, or their manager got so sick of them asking that they’re stuck with Java for the foreseeable future).

justicecoder@programming.dev on 08 Apr 18:48 collapse

Thank you! I’ll keep working to make JADEx a compelling option for teams in exactly that situation. Your interest and any feedback along the way means a lot.