Miért él egymás mellett egy csomó web-programnyelv?
PHP, Javascript, jQuerry, Ajax stb. csak amikről hallottam.
Miért kell ennyi?
Mi az amit, pl. PHP-vel nem, de Javascript-tel meg leget valósítani?
Node.js nem programozási nyelv, hanem egy vicc. :-)
JS kódot fordít le szerver oldalon egy C/C++-ban íródott magrendszer.
Van hasonló vicc, mikor klingon nyelven írhatunk programot.
(* print in Klingon *)
nuqneH { "nuqneH 'u'?" cha' } pong
(* countdown in Klingon *)
~ toghHa'
{ latlh 0 law'rap'a'
{ latlh cha' wa'boqHa' toghHa' }
HIja'chugh }
pong
A Node.js ne vicc, de egyébként sem ez az egyetlen megoldás a szerver oldali js-re. Rengeteg asztali program is JS-ben íródott, és tökéletesen működnek. Abszolút nem viccről van szó.
A JS egy jól működő, teljes értékű programozási nyelv, általános célra. (És egyébként viszonylag gyors is). Nyilván sokkal rosszabbul van megtervezve, mint mondjuk a Python, tehát kimondhatjuk, hogy a JS egy rossz programozási nyelv. Viszont még mindig sokkal jobb, mint mondjuk a PHP vagy a C#, Visual Basic, stb.
A PHP nem jobb programozási nyelv, csak sokkal többen használják szerver oldalon, ez a legnagyobb és egyetlen előnye. A megtervezettsége legalább annyira rossz a PHP-nak is, mint a JavaScript-nek, sőt, talán még rosszabb. A PHP például kb. 10-20-szor lassabb, mint a Node.js, tehát ha pl. jól akarsz SEO-zni egy oldalt, aminél ma már az egyik legfontosabb szempont a sebesség, akkor érdemes gondolkodóba esni, hogy inkább Node.js.... Bár ennek csak akkor van értelme, ha tényleg komoly szerveroldali logika is van az oldalon, mert pl. egy blog esetében oly mindegy.
Azért a Node.js-nek van még egy kis hibája, mégpedig az, hogy a PHP-hoz (+ vegyünk hozzá egy webeszerver, hogy fair összehasonlítás legyen) képest zabálja a memóriát.
PHP+Nginx vígan elvan 128 MB RAM mellett és gyors.
A Node.js-nek azért 1 GB körül kelleni szokott, ami nem feltétlenül jó dolog. (Plusz ha jól rémlik itt-ott még előfordul benne memory leak is.)
Amúgy meg oké, hogy gyors, de a PHP-t is lehet ám gyorsítani, erre sok-sok lehetőség van.
Lehet ezt is a memóriából futtatni, vagy akár előre fordítani bytekódot belőle stb...
Sőt, most nem rég jött ki a Facebook fejlesztő csapata a hírrel, hogy a PHP-s virtuális gépük már gyorsabb, mint ha a PHP-t natív C-re fordítanák le és azt használnák.
A nodejs nem használ olyan sok memóriát, csak egy adott területet több szálon is használ, ezért többszöröződik. Tehát például 10 processzben futtatod, és mindegyik 50 mb memóriát foglal le, akkor az már 500 mb memóriának mutatkozik, pedig valójában egy kb. 70 mb-os területen osztozkodnak.
Memory leak nem nagyon lehet benne amúgy.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!