523
New language (lemmy.world)
you are viewing a single comment's thread
view the rest of the comments
[-] surge_1@lemmy.world 33 points 2 months ago

Skip step 3, and just switch to Kotlin. Worked wonders for Android

[-] GissaMittJobb@lemmy.ml 3 points 2 months ago

Yes indeed, and it feels really good.

[-] sabreW4K3@lazysoci.al 1 points 2 months ago
[-] swordsmanluke@programming.dev 10 points 2 months ago

Kotlin is Java with all the suck taken out.

It's a modern, ergonomic language that runs on the JVM and removes as much GD boilerplate as it can.

It's fantastic.

[-] AeroLemming@lemm.ee 6 points 2 months ago

with all the suck taken out.

You still need Gradle, so not all the suck.

[-] moomoomoo309@programming.dev 2 points 2 months ago
[-] AeroLemming@lemm.ee 1 points 2 months ago

I'm not a huge fan of Maven either. I guess I'm just spoiled by Cargo.

[-] moomoomoo309@programming.dev 2 points 2 months ago

Cargo is really simple, which is great, but also limiting. Maven is much more complex, but for good reason - there's use cases, especially around multi-artifact projects and version sharing, where cargo would require either some glue or you run into some interesting edge cases. Usually, Rust isn't used for the kinds of big, wacky projects with a million dependencies that companies write in Java/Kotlin, so those kinds of use cases are considered more unusual.

Gradle, in my opinion, makes itself complex because it's all code, is very brittle, and several of its features just don't work right and require workarounds. When it works, it builds fast and it works well, but getting it to work, and how often you have to get it to work again...not worth it.

[-] AeroLemming@lemm.ee 1 points 2 months ago

That's interesting, thanks

[-] sabreW4K3@lazysoci.al 1 points 2 months ago

Sorry, one more question. What does ergonomic mean in regards to programming languages?

[-] swordsmanluke@programming.dev 3 points 2 months ago

Lots of little quality of life things. For instance, in Kotlin types can be marked nullable or not. When you are passing a potential null into a non-nullable argument, the compiler raises an error.

But if you had already checked earlier in scope whether or not the value was null, the compiler remembers that the value is guaranteed not to be null and won't blow up.

Same for other typechecks. Once you have asserted that a value is a given type, you don't need to cast it everywhere else. The compiler will remember.

[-] sabreW4K3@lazysoci.al 1 points 2 months ago

Ooh, thank you

[-] surge_1@lemmy.world 3 points 2 months ago

Kotlin is the tits

this post was submitted on 05 Apr 2024
523 points (94.4% liked)

Programmer Humor

18253 readers
743 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS