Remix.run Logo
pjmlp a day ago

Because the Java Virtual Machine is designed for Java, and that is what all vendors care about.

Kotlin is Google's C#, with Android being Google's .NET, after Google being sued by coming up with Google's J++, Android Java dialect.

Since Google wasn't able to come up with a replacement themselves, Fuchsia/Dart lost the internal politics, they adopted the language of the JetBrains, thanks to internal JetBrains advocates.

bhawks a day ago | parent [-]

| Android being Google's .NET, after Google being sued by coming up with Google's J++, Android Java dialect.

The Oracle v Google was specifically over copyright infringement concerning the Java APIs used in Android's original implementation (Dalvik/ART), not about creating a "J++" dialect.

Android never ran a JVM on mobile because it cannot be optimized for resource constrained devices a solution like DalvikVM was necessary. If you want to level critiques about creating fragmented dialects of Java I would recommend starting with J2ME. The only nice thing I can say about J2ME is at least it died.

The Android ecosystem was far too mature for Fuchsia/Dart to be successful without a very compelling interop story that was never produced.

As a technology Kotlin met Android's platform and community needs. Advocacy and politicking played a minimal, if any, role.

pjmlp 19 hours ago | parent [-]

Lies sold by Google.

Nokia and Sony Ericsson were using J2ME perfectly fine, as did Blackberry. I should know ad ex-Nokian.

Kotlin met nothing, it was pushed by Kotlin heads working on Android Studio, telling lies comparing Kotlin to Java 7, instead of Java was already offering at the time.

To this day they never do Kotlin vs Java samples, where modern Java is used, rather the version that bests fits their purpose to sell why Kotlin.

Fragmentation, what a joke, the fragmentation got so bad in Android, that JetPack libraries, previously Android X, exist to work around the fragmentation and lack of OEM updates.

Gosling said it better, regarding Google's "good" intentions

https://www.youtube.com/watch?v=ZYw3X4RZv6Y&feature=youtu.be...

bhawks 9 hours ago | parent [-]

J2ME was an alphabet soup of incompatible implementations stuck somewhere between Java 1.2 and 1.3. Getting code to run across device manufacturers was a huge engineering burden. In fact doing something like JetPack for that world would be technically impossible.

If Sun was offering some technically relevant foundation for the smartphone era, it would have been able to actually have some adoption. They were starting from a leading position (obviously - see blackberry or Nokia), and in the space of 3 to 4 years they completely disappeared.

re-thc 8 hours ago | parent [-]

> J2ME was an alphabet soup of incompatible implementations

So Google?

(alphabet)