Ask HN: What's Up with Kotlin and Spring Boot?
Our current codebase is PHP. They gave some reasons to go for Kotlin but to be honest I don't buy them. I was just shown a template repo for microservices using Spring Boot and I couldn't be more disappointed:
- the root directory is full of configuration stuff: `build.gradle.kts`, `gradlew`, `gradlew.bat`, `settings.gradle.kts`, `gradle` and `.gradle` (this last one is git-ignored, though). What the hell? With Go I see at most `go.mod` and `go.sum`, and perhaps a good old Makefile, but that's all.
- annotations everywhere. `@SpringBootApplication`, `@Service`, `@Configuration`, `@Bean` (aren't "Beans" something from the 90s?), `@Scope`, `@RequestMapping`, `@RestController`. Man, I feel like to read 5 lines of Kotlin code, I need to dig deeper first and understand the meaning of the annotations (also, how does one debug annotations?)
- `listOf`, `mutableListOf`, `List`, `ArrayList<>`, `mutableListOf<>`, `arrayListOf`... I understand them, but I feel like there are dozens of options to do a single thing. Sure, in Golang you have arrays and slices too, but the syntax (and the underlaying semantics) are not that far away from each other.
In summary, what's the appealing of Kotlin and Spring Boot? Kotlin seems like a nice language but compared to Golang, I don't think it has nothing to envy. Spring Boot on the other side smells like tech from the 90s. Maybe it's just me.