3 ms·
I find Java 21 very pleasant, as long as you figure out how to avoid ugly things like Spring’s autowiring of dependencies. I haven’t really given kotlin a fair
by fiddlerwoaroof 2y ago
I find Java 21 very pleasant, as long as you figure out how to avoid ugly things like Spring’s autowiring of dependencies.
I haven’t really given kotlin a fair try, but I find it ugly the couple times I’ve tried to work with it.
What I’m really curious about: do IntelliJ’s refactorings work as well for kotlin as Java? I find the refactoring tools make up for Java’s shortcomings as a language.
- dtech 2y agoIntelliJ is excellent for Kotlin, on par or better than for Java. It's unsurprising as Jetbrains basically uses Kotlin to sell IntelliJ.
- fiddlerwoaroof 2y agoDo things like inline method and inline base class work correctly? It’s not a given that IntelliJ is works correctly for Kotlin if the semantics of Kotlin are harder to analyze statically.
- Clamchop 2y ago> avoid ugly things like Spring's autowiring of dependencies. This seems awfully close to "avoid Spring" to me, heh. Though, I've grown rather fond of Spring Boot over time, but I've gathered that's not exactly the popular consensus.
- fiddlerwoaroof 2y ago> This seems awfully close to "avoid Spring" to me, heh. Exactly :)
- samus 2y agoSpring is perfectly usable without `@Autowired`, at least outside of test classes. SonarQube has a rule that helps avoiding it. Just use constructor injection instead.
- fiddlerwoaroof 2y agoAny form of dependency injection by classpath scanning is an antifeature
- samus 2y agoClasspath scanning is completely optional.
- Clamchop 2y agoConstructor injection is still autowiring. Spring used to demand that you annotate constructor arguments with @Autowired but that changed some time ago.
- samus 2y agoNo, it's the only sane technique to do dependency injection. And it still doesn't force you to do autowiring; you can also write a @Bean factory method for all components in the application if you really want.