Kotlin is much better than "Java, but just a little better."
Kotlin has everything. A language isn't better just because it has more.
Its great for DSLs though.
Java is pretty good for DSLs too.
Language.Builder().getOh().getYes().getJava().getIsSoNice().setFor(() -> { return "DSLs";});
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 } } }
The awfulness of one style of Java DSL is the awfulness of Lisp, that is
building(of(S("expressions"),everything())
Not going to lie, my brain doesn't really comprehend lisp. So the joke (or point?) is way over my head.