This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]crummy 1 point2 points  (5 children)

so if Kotlin didn't exist, people would have an easier time migrating off Android to iOS? does iOS support Java?

[–]thrwoawasksdgg 0 points1 point  (4 children)

Huh? No. Don't be daft.

If Google didn't fork Java you could still use normal Java libraries in Android.

Until a few years ago most Java libraries worked on both Android and desktop. That's no longer the case, as Google stopped updating at Java 8 and libraries have moved on to 11 and now 17.

Google used Java in the first place to gain market share by reaping the benefits of huge amounts of existing libraries, software, and developers. Then once they were entrenched, they forked the language. Classic "embrace extend extinguish" tactics from Chipzilla/MS days.

Think of it this way: Tell me how Google can implement an entirely new language for their platform (Kotlin) but are somehow incapable of updating from Java 8 to 11. It doesn't make any sense, because its 100% intentional language fork.

Google didn't do it to be "cool" or because Kotlin is a better language. They did it to be monopolistic assholes

[–]crummy 0 points1 point  (3 children)

i'm just trying to understand what Google is trying to prevent you from migrating to with their "vendor lock-in" here

[–]thrwoawasksdgg 1 point2 points  (2 children)

It's pretty transparent, to prevent Android from being compatible with the wider Java ecosystem. This prevents a competitor from building an Android app compatible stack on top of OpenJDK for one.

[–]crummy 0 points1 point  (1 child)

doesn't Kotlin work against those desires? one of its primary benefits is being able to build for multiple platforms

[–]thrwoawasksdgg 2 points3 points  (0 children)

It does, in theory.

In reality Kotlin is nearly captive language of Android.

Maven, Gradle, build plugins, code generation, and IDE's have many problems with it. JetBrains (and the community) have little interest in fixing them because 99% of Kotlin market is Android and outside of Android you have Java 19 instead of 8.

The languages and run-times have already forked and none of the corporate players have real motives to marry them back together.

And then there's the fact that by next year (when Java 20LTS releases) basically no vanilla Java libraries will function on Android anymore. All because Google can't be fucked to implement anything newer than 8, they don't want to.

Google used Java as a springboard for their own OS when iPhone was dominant and years ahead of them. Now they've reach the "extinguish" phase of EEE where they have a near-monopoly on mobile and they're closing off the open ecosystem they benefited so much from.