( khiraly | 2014. 11. 03., h – 12:59 )

> 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....