Véleményem a Java VM-ről

A Java nyelv elnevezését a fejlesztése alatt fogyasztott kávéhoz kötik a “legenda” szerint. Szerintem ez egy tévedés, bár a kávé is káros egy rendszergazda egészségére – ebben nagyon hasonlít a Java alkalmazásokhoz -, de a kávéban legalább van valami kellemes is.  Szemben a Java nyelvvel. Leírom, hogy nekem mi a véleményem erről a nyelvről/környezetről.

A valóság a névről

A Jawa egy szemétgyűjtő faj a Tatooine nevű bolygón. StarWars? Rémlik? A világító szemű kis köcsögök, akik begyüjtik a droidokat a 4. részben. Nah, szerintem a Java programozási nyelv, illetve a fejlesztői és futtatási környezet ezekről a kis dögökről kapta a nevét. A dupla helyett szimpla v-vel írták a nevet, de ezzel nem tévesztenek meg mindenkit. Szó nincs itt másról, csak pár programozó eldöntötte egykor, hogy megszívatja a világot ezzel a hulladékkal.

Jawa
A kis lámpaszemű

A Java fejlesztésének fő szempontjai

Gondolkoztál már, hogy milyen szempontok vezérelhették a fejlesztőit? Mitől lett olyan tetves lassú a pacman 100ezres Nokiádon? Miért kell naponta újraindítani a webszervert, ami javas lapokat szolgál ki? Vegyük sorra milyen szempontjaik lehettek.

  • Objektum-orientált nyelv létrehozása, amelynek a forrásnyelve az emberektől, a lefordított bytekódja pedig a jelenlegi CPU kódjától van marhára távol.
  • Legyen szükséges lefordítani a forráskódot, mert az interpretálás ugye nem elég menő.
  • Szinte bármilyen platformon bevezethető legyen, ezáltal még véletlenül se legyen képes egyet sem optimálisan kihasználni.
  • Memóriakezelés legyen a lehető legocsmányabb. Kelljen annyi memória, ami a fejlesztés időszakában nem is álmodható, és ha néhány emberöltő után lesz annyi, akkor azt a lehető legszarabbul kezelje a VM.

A fejlesztés sikeres volt, forradalmat teremtettek. A Javara lecsapott szinte mindenki, csodálatosan bevezették a webes alkalmazásoktól elkezdve a nagygépes rendszereken át a mobiltelefonokig.

Miért szeretik a programozók a Javat?

Talán mert annyit küszködnek a megtanulásával, hogy az agyuk bizonyos részei idomulnak a nyelv idiotizmusához. A sok fáradtság után meg kissé kínos lenne kimondani, hogy elfecsérelték az életükből pár hetet ennek az ocsmányságnak a kitanulására.

Mindehhez jön még, hogy a Java ideális környezet a programozói hibák elfedésére. Ki hallott már olyat, hogy egy programozó elismeri, hogy  elb….ott valamit? Csak olyan van, amikor két programozó megbeszéli, hogy hát igen, Javaban néha előfordul ilyen exception, amivel nem is lehet mit kezdeni, de talán majd javítják a JavaVM következő verziójában.

Miért utálják a rendszergazdák?

A válasz egyszerű és rövid lesz. A rendszergazdák mindent utálnak, ami nem teljesen kiszámítható. Nem kedveljük azt, hogy egy adott rendszer külső behatás nélkül is le tud dögleni, felemészti a CPU erőforrásait, feleszi, majd szétfragmentálja a rendelkezésre álló memóriát.

Homokjáró = Java
Homokjáró = Java

Visszatérve a StarWars-ra egy hasonlat. Egy Java alkalmazás olyan, mint a Tatooine bolygón a jawák homokjárója. Nagy, lassú, fejnehéz jármű azonban kissé nehézkes általános feladatokra. 4 focipálya méretű helyen fordul meg. Meg kissé sokat is fogyaszt… Biztos van ahol ez a legjobb választás? Nem, nincs… A rendszergazdák rühellik a homokjárót…

Miért használják ezt mégis annyi helyen?

Helyenként változó az ok. Legtöbb helyen töketlen menedzserek döntik el, hogy milyen környezetre fejlesszék (vagy fejlesztessék) az alkalmazásokat. Van, ahol presztizsből használják ezt, mert hát hogy nézne ki a Sun vagy Oracle lapja alatt valami más? Kb. úgy, mint a Microsoft lapja alatt az Apache. Erőforrás meg annyi van, amennyi kell, ez nem tétel nekik. Hogy mégis szar? Hát, ez van… Röhögőgörcsöt kapok, amikor a nagyon nagy multik weblapjain jönnek elő a szép piros betűs “java exception” felíratok a tartalmak helyett, vagy amikor napokig nem lehet pl. egy telepítőt letölteni tőlük, mert épp csuklik a webszerverük.

Miért jó a Java?

Ez hülye kérdés. Ha elolvastad a fentiket, akkor tudhatod, hogy a Java nem jó. Pont. Lehet vitatkozni velem erről, várok is minden pozitív javás tapasztalatot levélben, a devnull@madadmin.com vagy blackhole@madadmin.com címekre írhattok.

A programozód mégis preferálná a Javat? Keress másikat, akinek szempont az adott alkalmazás/weblap stabilitása és erőforrásigénye is!