• Komolytalan
    #39
    JAVA téma: A JAVA készítői egyszerűen csak nem akartak belehalni a szépségbe. Csináltak egy Integer típust, aminek van toString() metódusa, de mocsok lassú, mivel a példányosítása az ugye pointerek létrehozásával jár. Meg csináltak egy int típust, ami simán csak 4 byte a memóriában (64 bites rendszeren talán 8 byte?), és emiatt gyors - versenyképes mondjuk egy C++-al is (nem 20x lassabb, hanem 2x, nem 20x memóriát foglal, hanem 2x).

    Amit írtál JS kódot abban meg se hozzáférhetőség, se öröklődés nincs. Én nem véletlenül írtam a private/protected/public, illetve static előtagokat. Azok fontosak. Te semmi mást nem csináltál mint egy hash tömbnek adtál függvény típusú propertyket, vagyis nálad minden public. Ráadásul ahogy látom egy "classnak" 1 példánya van, ami hát legalábbis vicces, ha így van.

    Az OOP ereje pont a hozzáférhetőségből és az öröklésből adódik - a többi csak hab a tortán. Ezek segítségével egyrészt lezárható a kódok azon része, amihez kívülről nem szabad piszkálni (mert mondjuk még csomó minden mást is meg kéne csinálni, ha mondjuk azt a változót átírjuk), illetve biztosított, hogy ha egy kódhoz már csak egy kicsi hiányzik, akkor se kelljen providenthez fordulni, hanem simán származtathatunk belőle egyet, és a public/protected részeit piszkálva hozzáírhatjuk azt a kicsit, amit mi szeretnénk, az eredeti funkcionalitást megtartva.
    Ettől OOP az OOP, ez az amiért 15-20 éve nagyobb projecteknél OOP alapon gondolkozik mindenki. Ez nyilván nem jelenti azt, hogy mondjuk JS-ben ne lehetne sok mindent megírni - ha sok az erőforrás, akkor akár nagyobb alkalmazásokat is - egyszerűen csak ahogy bonyolódik a feladat, a JS úgy válik egyre alkalmatlanabbá a megoldására.