4 ms·
Man, Android could have been way cooler if it actually used real virtual machines, or at least the JVMs.
by exabrial 1y ago
Man, Android could have been way cooler if it actually used real virtual machines, or at least the JVMs.
- pjmlp 1y agoI stood by Oracle, because in the long term as it has been proven, Android is Google's J++, and Kotlin became Google's C#. Hardly any different from what was in the genesis of .NET. Nowadays they support up to Java 17 LTS, a subset only as usual, mostly because Android was being left behind accessing the Java ecosystem on Maven central. And even though now ART is updatable via PlayStore, all the way down to Android 12, they see no need to move beyond Java 17 subset, until most likely they start again missing on key libraries that decided to adopt newer features. Also stuff like Panama, Loom, Vector, Valhala (if ever), don't count them ever being supported on ART. At least, they managed to push into mainstream the closest idea of OSes like Oberon, Inferno, Java OS and co, where regardless of what think about the superiotity of UNIX clones, here they have to contend themselves with a managed userspace, something that Microsoft failed at with Longhorn, Singularity and Midori due to their internal politics.
- aembleton 1y ago> Kotlin became Google's C# Are Google buying Jetbrains?
- pjmlp 1y agoThey almost could, after all they have outsourced most of the Android tooling efforts to JetBrains, given that Android Studio is mostly InteliJ + Clion, and Kotlin is the main Android language nowadays. Also Kotlin Foundation is mostly JetBrains and Google employees.
- exabrial 1y ago>Panama, Loom, Vector, Valhala (if ever), don't count them ever being supported on ART This is pretty sad IMHO, as Java17 was a true turning point. Java21 is icing and Java25 is an incredible refinement with some fascinating new features that are really well thought out.
- tonyhart7 1y agoJVM??? hell no, native FTW
- exabrial 1y agoI think thats part of the problem. The JVM rarely runs interpreted code; nearly everything is compiled to native code.
- jeroenhd 1y agoARM phones didn't have virtualisation back in the day so that would've been impossible. Modern Android has virtual machines on devices with supported hardware+bootloader+kernels: https://source.android.com/docs/core/virtualization https://source.android.com/docs/core/virtualization
- exabrial 1y agoI don't think virtualization CPU support is needed for a JVM to run efficiently (though it could help with process isolation). At the end of the day the JVM is mostly a compiler!