Hacker News new | ask | show | jobs
by V-2 3734 days ago
Without providing close to 100% interoperability, replacing Java with another language would be insane. All the open-source third party libraries for Android (and there's plenty, and many of them have become the de facto industry standard), all of that goes out of the window. I don't see how it could pan out
2 comments

You make something that's easy for an automatic translation. Then you use that. It's how both AS/400 and OpenVMS kept binary compatibility on completely different hardware over time. The good news is there's a lot of clones of Java in CompSci and compilers of other languages targeted to JRE. Retargeting them to something similar wouldn't be hard. Recompiling bytecodes wouldn't be hard.

It's the high-level language and interfaces that would be hard. The real factor, though, is social given lock-in is in full effect here. Java was a bad, long-term bet given the Oracle acquisition.

So progress should be avoided if it means throwing away everything else?

I can see Android rolling this out across two major releases. The first adding support for a new VM or app language and the second removing Java. Time between those releases will give developers the chance to catch up.

I just think it's silly that you are opposed to throwing everything away. That is what got us in this mess to begin with. Android was supposed to be a simple transition for existing J2ME devs.

Ditching rich pre-existing ecosystem by itself certainly isn't progress. The greatest language without that ecosystem is like the shiniest OS with no apps. This includes communities, developers who've acquired enormous amounts of know-how by now... It would be extremely hard make this trade-off worth it. A tough call, and a multibillion dolar company will think more than twice before choosing that route. I know I would

"I just think it's silly that you are opposed to throwing everything away"

That may be, but I'm pretty sure Google wouldn't think so :)

It took Apple 12 years to deprecate Carbon API. It is still being shipped for compatibility.

Nobody really throws away anything, that other people are depending on. Especially, if you are depending on their continued investment into your platform.

Otherwise, Windows Mobile to Windows Phone happens. Or Python2 to Python3 (how many years it is already taking?)

So two major releases is too optimistic. Especially in android world, where more than two major releases are used simultaneously.