• Ephera
    link
    fedilink
    arrow-up
    1
    ·
    2 years ago

    Kotlin is a more complex programming language than Scala.

    Scala still seems to have this bad rep from the times when functional programming features weren’t commonplace yet in most programming languages, because it stood for this oh-so-complex functional programming stuff.
    Now, Kotlin is climbing up the TIOBE index, lauded by Java programmers as finally giving them the features they wanted, and as someone who’s now coded extensively in both, I don’t get it.

    Kotlin is obviously heavily inspired by Scala and they seem to have roughly the same features. But Kotlin imposes tons of rules that limit these features in how you can use them.

    However, I’m not talking about the good kind of rules, those which might help to streamline the code style. I’m saying it feels like they implemented half of each feature respectively, and then, so they didn’t have to finish implementing, they disallowed using it in other ways.
    Arbitrary rules, which as a programmer you just have to memorize to please the language gods.

    From a technical perspective, the only aspects I can see Kotlin being better are somewhat better Java interop and if you want to build a DSL, it has some nice features for that. But those DSL features make it worse / less streamlimed when you don’t want to build a DSL, and it just seems to be worse in every other aspect.

    Obviously, popularity rarely correlates with technical merit, I can accept that. But when people tell me I shouldn’t use Scala, because it’s so complex, I should use Kotlin instead, that shit fucking triggers me.