Before the advent of smartphones and app stores, it looked certain that Java would be the standard language for mobile devices, offering a small footprint and multi-platform approach that was missing from the established PC environment. But after Google adopted a fork of Java for Android, the older language was left languishing on inexpensive feature-phone applications. Java began life as a language for embedded computing, targeting early set-top box interfaces, and its designer James Gosling envisaged it supporting device-to-device communications from the start. It lost its way in the embedded world when alternatives like C, Assembler and Python became more adept at using systems with constrained memory or CPU, but the average size of the embedded environment has grown significantly…