Live data from Hacker News

Future of Java 8 Language Feature Support on Android

android-developers.googleblog.com

21–30 of 103 posts

Re: Future of Java 8 Language Feature Support on Android

#21

Earlier quoted context omitted.

I feel like Google really got bit by "not invented here" syndrome on the original Android vm :/ using normal JVM bytecodes might have been a good idea

It would have been a disaster. The JVM of 2007 would have run crazy slow on the devices from back then. Dalvik is the main reason why Android became so popular.

Every feature phone on the planet used to run Java ME without any problem. Dalvik may have had some optimisations, but to claim Java would have run "crazy slow" is unlikely to be the reason Google chose the implement their own VM.

Re: Future of Java 8 Language Feature Support on Android

#22

Well that was unexpected. I'm assuming they'll translate bytecode for older API versions? Or will Java 8 only be available for newer API versions?

Are you expecting anybody from the Android team to explain themselves? They've been answering every question about Java 8 with "no comment" for years. They didn't even discuss Jack/Jill's relation to Java 8 support when the tooling was announced, and external developers had to figure out Android's plans on their own from what they could decipher from the architecture.

I've moved on to Kotlin. Much more enjoyable for Android development IMO.

Re: Future of Java 8 Language Feature Support on Android

#23
post #10

The possibility of running Scala >=2.12 (or any other language that is committed to Java 8[1]) on Android seems even more remote now. Jack+Jill at least promised a way of running Java 8 bytecode on Android[2]. What now? Is Java source code going to be the only common currency between the Java 8 and Android ecosystems? [1] https://www.scala-lang.org/download/#Software_Requirements [2] http://stackoverflow.com/question…

Kotlin is committed to Android support though, and the community is coming to rally behind it much more than Scala.

> Is Java source code going to be the only common currency between the Java 8 and Android ecosystems?

Re: Future of Java 8 Language Feature Support on Android

#24

Earlier quoted context omitted.

I feel like Google really got bit by "not invented here" syndrome on the original Android vm :/ using normal JVM bytecodes might have been a good idea

It would have been a disaster. The JVM of 2007 would have run crazy slow on the devices from back then. Dalvik is the main reason why Android became so popular.

No, Android became popular due to the Google loving hipsters that believed in FOSS and AOSP, and OEMs that just love getting an OS for free with almost no strings attached.

Every other commercial Java vendor in this planet doesn't have any issue using standard Java tools, compiling with Java licenses and deliver JVMs able to run in embedded devices with soft and hard real time constraints.

Google for all their might is a special snowflake not able to do what the rest of the Java world is capable of.

Re: Future of Java 8 Language Feature Support on Android

#25
post #10

The possibility of running Scala >=2.12 (or any other language that is committed to Java 8[1]) on Android seems even more remote now. Jack+Jill at least promised a way of running Java 8 bytecode on Android[2]. What now? Is Java source code going to be the only common currency between the Java 8 and Android ecosystems? [1] https://www.scala-lang.org/download/#Software_Requirements [2] http://stackoverflow.com/question…

Kotlin is committed to Android support though, and the community is coming to rally behind it much more than Scala.

Kotlin is just a Java++, akin to what CoffeeScript is to JS, a Java with a different syntax.

Scala is not just a Java with a different syntax. Because of how traits work and because of how they were encoded in Java's class format, in older Scala versions even adding a method with a default implementation breaks binary compatibility, which is why the history of Scala has been so fraught with compatibility breakage.

Scala 2.12 takes advantage of Java 8's new default methods in interfaces, among others, for encoding Scala's features. We finally have a Scala version that isn't so fragile. And because of the limited resources of the core team, they can't maintain different backends.

Java 8 was released in 2014. I cheered for Google when they won Oracle's lawsuit, but when you're forking the ecosystem, you have a responsibility to keep on your promise of keeping up to date and compatible with the upstream. They just pulled a Microsoft and are getting away with it.

Fuck Google for fracturing the Java ecosystem. There, I said it.

Re: Future of Java 8 Language Feature Support on Android

#26

Earlier quoted context omitted.

Are you expecting anybody from the Android team to explain themselves? They've been answering every question about Java 8 with "no comment" for years. They didn't even discuss Jack/Jill's relation to Java 8 support when the tooling was announced, and external developers had to figure out Android's plans on their own from what they could decipher from the architecture.

Well, when you have an ongoing lawsuit with Oracle you have to careful of what you say in public.

They are the ones to blame for it.

Apparently every other commercial JVM vendor doesn't have any issue to comply with licenses, while offering their own changes to Java stack.

IBM, MicroEJ, Atego, just to cite three examples out of many.

Re: Future of Java 8 Language Feature Support on Android

#27
post #10

The possibility of running Scala >=2.12 (or any other language that is committed to Java 8[1]) on Android seems even more remote now. Jack+Jill at least promised a way of running Java 8 bytecode on Android[2]. What now? Is Java source code going to be the only common currency between the Java 8 and Android ecosystems? [1] https://www.scala-lang.org/download/#Software_Requirements [2] http://stackoverflow.com/question…

Kotlin is committed to Android support though, and the community is coming to rally behind it much more than Scala.

I actually clicked on the link with the faint hope that there would be something in the announcement about Kotlin.

Google support for Kotlin, or some initiative to get a grip on security updates are the only announcements that I really want to see about Android at this point: I use an Android phone, but there's no end-user things that I feel that it lacks right now. IMO, the significant weaknesses of the platform are updates and developer experience.

Re: Future of Java 8 Language Feature Support on Android

#28

Earlier quoted context omitted.

Kotlin is committed to Android support though, and the community is coming to rally behind it much more than Scala.

Kotlin is just a Java++, akin to what CoffeeScript is to JS, a Java with a different syntax. Scala is not just a Java with a different syntax. Because of how traits work and because of how they were encoded in Java's class format, in older Scala versions even adding a method with a default implementation breaks binary compatibility, which is why the history of Scala has been so fraught with compatibility breakage. Sc…

> Fuck Google for fracturing the Java ecosystem. There, I said it.

Right on the spot, yet as Silicon Valley darling they get a free pass instead of being blamed like Microsoft was.

I still hope Oracle manages to force them to play by rules.

Other JVM vendors like IBM, Atego, Azul, MicroEJ,.... are able to provide their own extensions, while supporting Java properly and not forking the whole language + standard libraries.

Some of them do sell JVMs for embedded devices with soft and real-time constraints much higher than Android, so the whole story about a Java fork being a requirement for Android is such Google marketing for their actions.

Re: Future of Java 8 Language Feature Support on Android

#29
post #10

The possibility of running Scala >=2.12 (or any other language that is committed to Java 8[1]) on Android seems even more remote now. Jack+Jill at least promised a way of running Java 8 bytecode on Android[2]. What now? Is Java source code going to be the only common currency between the Java 8 and Android ecosystems? [1] https://www.scala-lang.org/download/#Software_Requirements [2] http://stackoverflow.com/question…

Google has no interest in providing the right support for Java developers it seems.

Lack of Java 8 bytecode now, then lack of Java 9 modules tomorrow, and eventually lack of Java 10 value types and improved generics, arrays and JNI replacement.

And of course, lack of many of the SE APIs in any case.

The fun of writing portable libraries between Java and Android Java is only getting better.

Post reply on HN