> Es a JS runtime? Egy V8 update elronthatja az egeszet (ha mar JVM-rol volt szo a Java oldalon).
Mivel tipikusan forrasfajlod van .js oldalon, igy nem egy .jar jvm binarist kell eletrekelteni.
Az ECMAScript 5, 6 es 7 kozott jelentos nyelvi kulonbsegek vannak, es ott is megy a "hogyan legyen a nyelvben olyan uj funkcio, ami nem tori el a regi kodokat" dolog, lasd peldaul a use strict; hasznalanak modjat.
Ez egy erdekes dolog, hogy fobb nyelvi valtozasok hogyan fognak lecsapodni library oldalon. (szerintem nem gond, mivel adott verziora dependelsz). De ez a jovo zeneje.
Az egyes libek Javaban pedig reg megoldott problema, lasd Maven.
Az npm a CPAN-bol meritett, amikor letre lett hozva, nem a Node.JS talalta fel azt a dolgot, hogy csomagkezeles.
A node.js nem talalt fel semmit ami azelott ne lett volna.
Kb. ugy, ahogy a github.com sem talalta fel a git-et.
De nepszerusegi listat vezet mindketto, es jol korulhatarolo oka van.
En az egesz szalban csak arra reagaltam,
hogy javascript igenis alkalmas nagy rendszerek osszekalapalasara.
Meg kene kulonboztetni a VM, VM-hez adott default runtime es az egyes 3rd party library fogalmakat, es akkor lehetne beszelni kompatibilitasrol.
Mivel a node.js konkretan nulla libbel jon, igy ez a kerdes nem olyan eros, mint java eseten.
(Bar igaz, hogy node.js add nehany default objektumot, de az nem library).
Egy sima telnet szerverhez is tcp library-t toltesz le node.js-nel.
Az, hogy a kodod fut-e ujabb V8 runtime-nal, szerintem eroltetett hasonlat, mivel itt forraskodban vagy tipikusan. A library-ket meg frissitik, ha valami olyan lenne (ha meg nem, akkor valtasz library-t).
Masreszt fontos dolog (ez JS-nel nem letezik) a binaris/forras kompatibilitas.
Es ez egy fontos fegyverteny.
Egy app lehet forrasszinten kompatibilis, akkor is, ha binaris szinten nem kompatibilis. Stb.
Ez a problemakor fel se merul.
Persze en nem azt mondom, hogy a node.js a mindenhato, es minden mas eltunik a sullyesztoben.
En mindosszesen ezeket allitottam:
- node.js-ben igen komoly (vallalati, ha ugy tetszik) rendszereket ossze lehet hozni.
- van nagyon eros "ecosystem", library tamogatas. Barmit meg akarsz oldani, valoszinu, hogy van mar ra library a 100k kozul.
- "beepitett" csomagkezelo, ahol a verziozas problematikaja megszunik.
- terjed, mint a futotuz
- alkalmazhato ugyanaz a nyelv mindenhol (szerver, kliens), mindenfele programhoz (akar guis programot is lehet irni vele).
Ettol meg rengeteg programnyelv letezik, es fog letezni a jovoben, es nem kell egyiknek se kihalnia.
De teny, hogy a node.js legalabb akkora buzzword most, mint 10 eve volt a java.
---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....