| Wydajnosc Javy jest zalezna od tego jak zdolni byli
programisci/projektanci
| piszacy dana JavaVM, lub jakie technologie zastosowali.
a ta słynna wieloplatformowośc to fakty czy mity?
bo nie wiem komu wierzyć :)
Mit, przynajmniej w j2me.
Na zdrowy rozum, j2me ma to być język "wbudowany", czyli do róznych
specjalizowanych urzadzeń itp. które sią znacznie różnią wejściem
i wyjściem. Próby zunifikowania tego są albo skazane na porażke, albo
zgwałcą część funkcjonalności.
Java w urzadzeniach sterujących itp przyjęła się tak sobie, więc
zaatakowali telefony. A że mają dobry marketing, to udało się im tą
technologię wcisnąć.
Co do przenośności, parę przykładów:
Siemensy mają coś takiego jak sprite i inne techniki znane z kompów
8-bit. Za to operacje matemetyczne wykonują straszliwie powoli.
Nokie nie mają spritów, za to sa od 5 do 10 razy szybsze od siemensa,
przy czym rozrzut prędkości między nokiami jest dość spory.
Dalej jest jeszcze smieszniej, telefony różnią się znacznie tym co można
z nimi zrobić. Na przykład niektóre dają możliwość wysłania SMS-a
z poziomu programu w javie, inne nie dają. Niektóre pozwalają
odczytać coś z karty SIM, inne nie. Niektóre mają API do komunikacji
przez irdę inne w ogóle nie mają irda, inne mają ale nie ma się jak
do niej dobrać.
Efekt jest taki, że logikę gry możesz faktycznie zrobić wspólną,
ale całą obsługę we/wy robisz pod konkretny model/rodzinę.
bo w C możesz sobie zrobić komilacje warunkową a w javie nie.