Java:
It is true that Kotlin has less boilerplate, Kotlin’s null safety eliminates a class of bugs, and Kotlin has better data classes. Java 21 narrowed the gap with Kotlin with records and pattern matching but is still more verbose. Despite this, I chose Java because it is syntactically simpler to start, and I wanted to experience a Java → Kotlin migration job.
<aside> 💡
It is interesting to think that Kotlin uses exactly the same JVM that Java uses, with no customization. Kotlin compiles to standard JVM bytecode, and you can even target specific bytecode versions like 1.8, 11, 17, etc.) and that bytecode runs on whatever JBM you’d use for Java: HotSpot, OpenJ9, GraalVM, whatever.
</aside>
Spring MVC:
I wondered between Spring MVC and Spring WebFlux, primarily because Spring WebFlux is the option used by snutt, and Spring MVC because it is the first thing you learn when you encounter Spring.
I am going to