# Java, Kotlin, and the Challenges of Android Development

DevFeed: [Java, Kotlin, and the Challenges of Android Development](<https://devfeed.tech/articles/why-kotlin-is-better-than-whatever-dumb-language-you-re-using-38780.md>)

Original publisher: [Read original article](<https://steve-yegge.blogspot.com/2017/05/why-kotlin-is-better-than-whatever-dumb.html>)

Author: Steve Yegge (noreply@blogger.com)

Published: 2017-05-17T21:06:00Z

Content type: opinion

Language: en

Sources: [Steve Yegge](<https://devfeed.tech/sources/steve-yegge.md>)

Topics: [android-development](<https://devfeed.tech/topics/android-development.md>), [Android](<https://devfeed.tech/topics/android.md>), [Java](<https://devfeed.tech/topics/java.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [ios](<https://devfeed.tech/tags/ios.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [language](<https://devfeed.tech/tags/language.md>)

## AI overview

The author discusses choosing a language while developing an Android version of an existing iOS game. The supplied excerpt criticizes some legacy Android APIs and contrasts Android and iOS development, while framing Java's slow evolution as part of the language-choice problem.

## Source excerpt

Ah, clickbait. Where would the internet be without it? The answer will shock you! But seriously, I didn't mean to insult your favorite language... much. After all, your language of choice is probably getting better at a glacial pace. Right? If your language isn't dead, then it's gradually getting better as they release updates to it. How slowly, though? Well... If the language you're using happens to be Java, then you've no doubt realized that by the time Java becomes a really good language, you'll be dead. Loooong dead. I know we don't like to contemplate our own mortality, but when you plot the trajectory of Java from its birth 20+ years ago to its full knee and hip replacement with Java 8, you can't help but wonder, "Am I going to be stuck with this for literally the rest of my life? What if this is as good as it gets?" Anyhoo, I ran across the old language question again because I finally tried my hand at Android development. I have an iOS client for my old game Wyvern, and I decided somewhat recently to take the plunge and write an Android version. I didn't realize that it would turn into a language question (as in, "What the hell am I doing with my life?") But then, if you've done any Android programming at all, you'll know that this is in fact a burning question in Android-land. My first attempt at doing Android was last summer, and my god it sucked. I mean, they warned me. Everyone warned me. "The APIs are terrible", they all said. I can't say I wasn't warned. How terrible could they be, though? It's just Java, right? Legacy Yuck Unfortunately -- for long complicated legacy reasons that nobody cares about -- some of Android's core APIs really are bad. I mean baaaaad bad. Shut the book, take a deep breath, and go out for coffee bad. The warnings were spot on. It's a mixed bag, though. A lot of their APIs are just ducky. I found plenty of things that are hard in iOS and easy in Android. Product flavors, the Downloads service, findViewById(), the Preferences acti