Kotlin is much better than "Java, but just a little better."
Its great for DSLs though.
No trailing lambdas, no infix operators, no @DslMarkers, no top level functions, and an infinite list of examples of Java verbosity making even the smallest thing look like an ancient greek epic. Java is utterly terrible for DSLs.
Language {
oh {
yes {
Java {
isSoNice
}
}
}
You can contrive awfulness in any language. building(of(S("expressions"),everything())