5 ms·
I'm really not sure the drive for garbage collected languages in memory constrained systems with no user recoverability. Seems like a recipe for a device that j
by zzalpha 9y ago
I'm really not sure the drive for garbage collected languages in memory constrained systems with no user recoverability. Seems like a recipe for a device that just stops working from time to time.
J2ME would like to have a word with you...
- arcticbull 9y agoHah, that's a fair point, actually. Maybe I'm using a different definition of 'embedded system'. To me, anything that's a general purpose application processor these days (i.e. capable of running Linux) barely fits the definition. I wouldn't really call the iPhone CPU an 'embedded system' although, I guess, it kind of is.
- zzalpha 9y agoHah, that's a fair point, actually. Maybe I'm using a different definition of 'embedded system'. To me, anything that's a general purpose application processor these days (i.e. capable of running Linux) barely fits the definition. I'd say that's a bit myopic. There's a huge range of devices between "a few kilobytes of memory" and "smartphone" that would be well-served by something like this.
- gok 9y agoI agree with you that there's many device in that range, but why are they not well served by using an operating system? When is a device large enough to run the whole Go runtime but too small for (say) Linux?
- zzalpha 9y agoCompared to a complete Linux kernel, the Go runtime is pretty tiny. Buy to your point there is no magic answer. The question is rather: when is the capabilities of a full OS kernel like Linux worth the resources needed to run it? And the answer is ultimately: it depends.
- taneq 9y agoJ2ME would like to have a wo ... .... ... ..... rd with you.
- sp0ck 9y agoJ2ME is nowhere near being hard real-time. Minimal Java ME Embedded configuration: 32-bit MCU, 130 KB RAM, 350 KB Flash/ROM. This is close to border where systems have MMU and is considered very "big" configuration in realm of embedded systems. 10-20 kB RAM/64kB flash is a lot for many many applications. Rust seems to be on a good path to be the real C competitor in general bare-metal development. Right now Cortex-M* family support is on level when you can start writing some apps in it. I'm not considering Ada to be mainstream.
- pjmlp 9y agoJ2ME is not the only game in town for embedded Java, check Aonix and Aicas offerings instead. As another example, MicroEJ is targeted at Cortex-M CPUs. And there is also Astrobe selling Oberon-07 compilers for M3 and M4 processors. > 32-bit MCU, 130 KB RAM, 350 KB Flash/ROM Anything less than this is most certainly some kind of PIC, not everyone is using them for embedded real-time deployments.
- sp0ck 9y agoCorrect me if I'm wrong: Aonix is not existing - it was bought by PTC. Their real time Java is now targeting only x64/x86 systems. You are wrong about "anything less" Anything less is probably 90% of market. You will find 130kB RAM, 350kB flash only in high end products from NXP(LCP family), Kinetis(KL family) or STI( STM family). You only need so much RAM for JAVA :)
- pjmlp 9y agoYes, they were bought by PTC. However I don't know what they have done with the PicoJava offerings, since PTC isn't as friendly as Aonix regarding the making the documentation available. As for the market, it depends on which one the products built with those CPUs are actually being sold to. My Cisco phone and the Ricoh printer around the corner both are running some form of embedded Java. Maybe you think they are part of the remaining 10%, however Cisco and Ricoh though it was worthwhile for their sales.
- josefx 9y agoand JavaCard 1.0 wants to know what a GC is. No need to throw away perfectly fine objects.
- nickpsecurity 9y agoA few of it's family members will even proof mathematically that they won't throw those objects away. https://www.commoncriteriaportal.org/iccc/9iccc/pdf/B2404.pdf https://www.commoncriteriaportal.org/iccc/9iccc/pdf/B2404.pd... http://www.cs.nott.ac.uk/~pszgmh/appsem-slides/barthe.pdf http://www.cs.nott.ac.uk/~pszgmh/appsem-slides/barthe.pdf