I can say I remember buying a dev board from Dallas Semiconductor (TINI) back in the day (more than 20 years ago as I remember it) that had a fancy several-10's-of-mhz 8051 variant MCU that could run java code well enough to do a little http sever via Ethernet and turn leds on/off. The code was pretty standard java code at the time. Waaaay more standard than something like Android.
https://en.wikipedia.org/wiki/Tiny_Internet_Interface
http://en.wikibedia.ru/wiki/MxTNI
So, Yeah, definitely seems like you could get something to work for general headless kind of stuff. Not so sure how well javax.swing.* is going to work though (guessing not too good?).
I do remember too, i was pairing 8 bit pic with ne2000 ic with a minimal tcp/ip stack at the time. Because TINI was too slow, it was requiring as much as 4 secs to tackle 8kb array according to people who wanted to ship products. Price wise it was 3-4 times more expensive also. It was a head of its time.I just checked that price of the socket for tini module cost as much as blue pill or an wifi enabled esp board.
Today lots of young developer think IOT is a new thing although it is at least two decades old. But today is a better time if not perfect as lots of tech aligned with consumer behaviour.
By excluding punch cards we/developers were developing code by writing down hex than assembly. From otp/windowed to flash. C compiler was not feasible or not accessible. Then C/C++ compiler became normal. C compiler usage did not ramped up until gcc available for free with dev boards and debuggers go cheap. Today we are seeing even highly expensive software stacks becoming free. Embedded flash and sram size along with cpu speed increasing really fast also the power consumptions going down with better silicon processes thus prices. Also compiler tech is enhancing a lot and things become feasible with powerful PCs we have. I do believe that in very near future swift/kotlin a like language will become the new C/C++.
For Java i think issue is people are tired of it because of bad memories or hard to brake bad old experiences. Like people moved from Windows to Mac and forgot what a formatting regulary to speed up things mean. You can argue with the same price i can let somebody format my laptop every quarter
. Some times developers did not liked things become easier, less fun? This almost never happened with C or C++ until security issues and difficulty of writing secure code pushed people to look better alternatives like Rust?
We seen developers jumping to objective c with fancy mac books to develop for iphone, like all those just invented. Also seen people developing for Android with Java, like it was never done before. I do believe they both manage to stick with being seamless or money
.
Google is going windows approach throw everything until one really stick or they drop like go, flutter, java, kotlin, python , js and etc.
Anyhow because of the future that i believe today I got simple example Kotlin app working with the same VM. It has more runtime dependencies thus may not able to support all fancy features of it in the beginning. Also got swift working on bare metal but runtime dependency is no go for low to medium end mcus but have some plans.
Those are intermediate steps for next. I do believe embedded systems deserves a new better language which scales well. I do not think it Rust or Micro python, i can talk the reasons with examples hours and hours.
What do you guys think?