Teoreticky nic nebrání vytvoit VM přímo pro dané železo bez nutnosti použít jiný OS. Někde jsem četl, že takto fungují i jisté odnože Smalltalku, kdy Smalltalkovský VM běží přímo na daném železe bez podpory nějakého OS a na něm už jen Smalltalk.
Krom jsou k dispozici i Java kompilátory do nativního kódu/binárky dané platformy.
Mimochodem, existuje speciální odnož Javy pro real time aplikace.
...jak budeš programovat v javě třeba pro ATmega...
Že by nějak takto?
http://www.harbaum.org/till/nanovm/index.shtml
Takže v Javě se dá dělat opravdu všechno.
Ano, teoreticky můžu udělat HW, u kterého přesunu JVM do ROM a po postu už bude java použitelná, ale to nevypovídá nic o použitelnosti javy na cokoliv, ale o možnosti zprasit cokoliv. Mimochodem, podobně bych mohl jednoduše do ROM vrazit třeba interpreter perlu a tvrdit, že perl umí všechno. Ostatně, spousta 8bitů obsahovala v ROM Basic, který byl ihned použitelný, ale nikdo si asi dnes nedovolí tvrdit, že je Basic univerzální nejlepší jazyk. Ale dobrá, pokud je java na všechno, tak to upřesním, chci ten OS napsat pro standardní x86(64), aby si jej mohl kdokoliv nainstalovat a nemusel kvůli tomu hackovat HW.
What the NanoVM is and what it isn't
It is not a full featured Java VM and it will never be. It will always be limited to a small subset of the java language and the standard java libraries and a few application specific methods. Furthermore, it is not meant to replace C as the standard way of programming microcontrollers. It is less flexible and has a lower performance than C or assembler programs.Realita je taková, že jediné dva způsoby, které jsou univerzální zcela na cokoliv, co daný HW umožňuje, jsou strojový kód a assembler. Nicméně to neznamená, že jsou na všechno nejvhodnější - například portace mezi platformami znamenají v podstatě vše přepsat. Stejně jako není univerzálně nejvhodnější java, ani žádný jiný jazyk. Kdyby totiž takový jazyk byl, nikdo by neměl důvod, ani potřebu, používat cokoliv jiného. A světe div se, jazyků existují stovky, možná tisíce, každý byl vytvořený za nějakým účelem, některé jsou úlet, některé se na některé úkoly hodí víc, na některé míň, něco v nich nemusí být vůbec možné a světe div se, ani jejich autoři snad nikdy nebyli tak debilní, aby prohlásili, že ten jejich je nejlepší, nejuniverzálnější a vše ostatní je zbytečný crap.