Kotlin has everything. A language isn't better just because it has more.
Its great for DSLs though.
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())