‘Intelligent’ embedded devices will be driven by Java, say analysts
jaxenter.com
jaxenter.com
And it's a resource hog in the domain of sub-MMU chips (like Cortex-M), so it's out of the question for cheap or very low power stuff.
And the embedded focus on hardware interfaces means these program won't be portable, either.
It's bullshit. Clearly, embedded software has to catch on with times, but this is not the way.
"Embedded devices" is such a broad term now, that they need to scope it a little better. An ATM running Windows is considered embedded by some definition, which is kind of what I suspect they're talking about here - not resource-constrained devices like Arduino boards, as inferred by the image at the top of the article.
lol
Last few times I read about widespread cross-platform malware that affected Windows, Linux, OS X and even Android, sometimes all at the same time, these exploits were based on Java security holes :-S
For bigger devices, RTOS's and C work pretty well, but you can't be liberal code wise given the amount of clocks available. And you conserve those as a necessity usually.
For networked devices, where you don't care so much about power or battery drain, then I guess there's an argument to be had. NXP LPC43xx with its dual processor m4 and m0 running at 204mHz for example could just about manage it. But for devices doing work like data acquisition most designers would balk at the idea. Especially as regards memory allocation.
Some M2M will be in higher-end devices (cars, vending machines, gas pumps) that will have lots of available power. Those will be just fine on Java or Java/Android or whatever.
But a lot more devices will be running off battery power or scavenged power (solar, ambient, thermal, etc). These systems are going to wake up quickly, take a measurement or send out a message, and get back to sleep even quicker. These devices will need to consume idle power in the nanoamp range if they're going to survive their lifetime on a battery.
A JVM is just not the direction these systems are taking. They're being written low-level to get the data and get out. Even reading in pages of code from NAND flash consumes way too much power to survive.
It needs a special kernel with (slower) floating point ABI operations, called soft-float [1].
This article is poorly disguised PR paid by Oracle to get its foot back in the closing door of embedded systems market.
Knock knock? Who's there? [thirty second pause] Java.
at com.embedded.AutoPilot.flight(AutoPilot.java:1240)Set top boxes.