DEV Community

Discussion on: Graveyard update: Human Bingo lives!

Collapse
 
andy profile image
Andy Zhao (he/him)

This is hilarious and awesome.

What was learning Kotlin like? I've been meaning to dive into it some time for Android development, but am on the fence about whether I should learn that or Java.

Collapse
 
isaacdlyman profile image
Isaac Lyman

I love Kotlin. Part of it is that I'm a big JetBrains fan, and I truly believe everything they touch turns to gold. Part of it is that I don't like Java, so any alternative will benefit from that bias. But objectively speaking, Kotlin is a lot more concise than Java (when you paste in Java code from the web, sometimes it will get ~50% shorter as it transpiles to Kotlin). And Kotlin's standard library is super developer-friendly. I like all the functional programming features (map/filter/reduce, lambdas, etc.) and the super-compact data classes. The built-in array functionality is superb. A lot of things about Kotlin resemble TypeScript, for better or worse. And the Kotlin documentation is awesome.

All that said, if you want to piece together an app using code from Stack Overflow and blog posts, Java's the better option. Kotlin is the new kid on the block and there isn't as much free code floating around for it. And if you're a C-style syntax kind of person, you may prefer the traditionalism of Java--Kotlin's syntax is unusual to say the least. But if you intend to write any kind of logic on your own, I strongly recommend Kotlin for convenience, readability, and intuitiveness.

Collapse
 
andy profile image
Andy Zhao (he/him)

Awesome, thanks! I've only worked with Ruby and Javascript, but I've looked at some Swift, which I heard is similar enough to Kotlin. Hopefully I won't have to learn much Java for Android dev since I plan on making native apps that will wrap a web app.

Thread Thread
 
jeyj0 profile image
Jannis Jorre

Well, the fp features exist in Java too, just to mention it. Kotlin is awesome though, but it basically is Java in newer and better and, as you mentioned, shorter. It feels a lot like Java with Lombok and everything unnecessary removed. Plus a little TS-feel, that's true.