10

Great googly moogly is Kotlin an ugly language.

If you are just starting out with Android or Java development in general, I highly recommend sticking with Java and avoid Kotlin like the plague. It feels like a meme language that was taken a little too seriously.

Full of little flowery nonsense that aims to make the language more human, but only serves to make it look like a child designed it.

I absolutely hate when a language doesn't require type declarations.

The "it" keyword rankles my underwear beyond belief.

Trying to build a dictionary/hashmap/hash felt like I was writing out an essay for school. In other languages it's straightforward and makes sense. Even PHP makes more sense.

I am obviously missing something here, because there is no way something so common and done the same way across different languages has such a wildly different approach in Kotlin.

I have as much experience with Java as I do Kotlin but it immediately makes more sense as a language and doesn't have all this flowery nonsense. It is verbose, which means I don't have to decipher what the code is actually doing when I read it.

I'm familiar with the enterprise Java meme, but I'm not writing enterprise Java, and that's not my style anyway so it doesn't affect me. But even so, that would be a million times easier to handle that Kotlin.

Comments
  • 0
    val looks unfriendly to me. I dont like the word val.
  • 1
    @joewilliams007 Since I'm quite familiar with js, it registers as a typo when I read it.
  • 1
  • 5
    Kotlin is staticly typed, nullsafe by default, multiparadigm, has type inference, generics, convenient destructuring syntax, uses the "fun" keyword to create lambdas...

    Might miss sum types (not sure, don't know the language), but looks like a decent replacement for Java to me.
  • 2
    "Even PHP makes more sense".... Whouh, strong words.
  • 0
    https://kotlinlang.org/docs/...

    val strings = list.map { it.toString() }

    it is just a short keyword available in all single value lambdas.
  • 2
    @IntrusionCM That is nicer to read than whatever I saw. But "it" is still annoying. Implied anything in a language is a headache to deal with and parse. Especially for those new to the language. What I saw had syntax that looked like a sentence, which strikes me as cutesy and unprofessional.

    Like those "Ugh, we're like sorry lolz there's been an error :3" messages that everything gives now instead of actually helpful error messages.
  • 3
    I have experience with both Java and Kotlin, for android development, and I have to agree that it's even worse than php; which is quite nice since version 8.0. Those who hate php must have used it when it was version 5.6.

    The problem with making android app with kotlin is, it has a lot of abstraction / automatic code generation under the hood, which makes things confusing as hell. I prefer the clarity of java anyday.

    I prefer to personally know my app. I want to know which class deals with what. What classes are extended / inherited. What classes are used as dependency injection. Kotlin hides a lot of these! It doesn't make things more fun / easier. All the hiding/automatic code generation on build time, only makes coding worse!!
  • 1
    @Oktokolo Kotlin does have sum types. The syntax is a bit weird, though.
  • 3
    I can’t understand people who prefer Java over Kotlin.
    The verbosity of Java doesn’t make the code more clear. It’s the opposite.

    It’s not code generation, but synthesis.

    Java’s boilerplate and ceremony only clutters the code and makes it hard to read.
  • 1
    I didn't know anything about Kotlin. And I saw this in the tutorial:

    > suspend fun waiting(start: Long, delayMillis: Long)

    LOL. What is that... suspend fun?
  • 1
    @tw001 suspend is a concurrency feature, similar to async in other languages.
    fun is a function declaration.
  • 0
    I could understand Java over Kotlin argument, if you would be able to actually use latest Java version. But that is not the case on Android.

    On Android, you can't escape Kotlin. Framework uses it, libraries use it. If you want to call Kotlin code from Java... well it's possible, but it's not very Java friendly API.

    As a final note, it's not possible to use Jetpack Compose. So sorry, but you don't know what you're talking about.
  • 1
    @Oktokolo I ++ the rant and your rebuttal because this is just hehe haha to me
Add Comment