Java frontend replacing the entire 155,000 lines of have with about 4000 lines of Clojure
Szerintem ez mindent elárul.
Iszonyú béna programozóik voltak és mivel nem akarták a szarkupacot tovább
növelni inkább olyan nyelv/megoldás után nyúltak, amihez nem nagyon kell érteni.
Most beküldhettem volna a Paypalos átállást is (ugyanis már ők is node-ot használnak).
Head count: Node.js. Typically they are seeing anywhere from ⅓ to 1/10 the number of developers needed on the new stack vs the old stack.
Performance: In one set of Load & Performance tests done on the same app built on both the Java stack vs the Node stack showed a 10x throughput in scale.
All in on Node.js: all the new applications in PayPal are now being built using Node.js
Lines of code: In general they have seen code size shrink by factor of 3-5 by moving from the Java stack to the Node stack. Even the number of files shrunk by a similar factor.
Vajon a Paypalnál is csak dilettáns programozók vannak? :)
Szinte bármilyen nyelvben ekkora (50x) eltérés nagyfokú bénaságra vall.
De megnéztem az oldalt is mert nehéz volt elhinnem.. a lényeg, hogy aki egy ilyen
primitív oldalt 150e sor javából hoz össze az béna (van összehasonlítási alapom).. és ezzel nem a node.js-t fikázom.
Primitiv oldal?
A hir megjelenitesen kivul azert jopar plusz dolog is van itt:
real time analitika
dinamikus reklam hely menedzsment
ecommerce
ajanlo rendszer
Amire ratesz egy lapattal az oldal latogatoszama. Nem mondom hogy atomfizika, de nem egy egyszeru Wordpresses hiroldal azert.
Én ebből egyedül a performance-t tartom hülyeségnek. Nyilván ezek a reactoros lightweight cuccok oda-vissza agyonvernek egy process, vagy thread-based monstrumot (már ha jól csinálták meg). Ez kicsit almát a körtével, nyilván javara is lehet építeni ilyet (van is), meg mindenre, ami tud szálakat kezelni. Inkább az van ebben, hogy egy scriptnyelv tömörebb, és dinamikusabban fejleszthető tud lenni, ami egy webes rendszernél elég alapvető. De egy performance shootoutból mindig az tud jobban kijönni, aki közelebb van a vashoz, az meg általában nem a scriptnyelv. Szóval ez nekem így sántít, és nem is elegáns. Ettől függetlenül egyáltalán nem vonom kétségbe, hogy ilyen feladatra jelenleg a node.js az egyik legjobb választás. Kíváncsi leszek hová fog eljutni, nagyon nyomják most. A PHP-nél meg lassan verhetik a fejüket az asztal sarkába...
Egyébként meg már szívesen ránéznék egy komolyabb node.js kódra,
ami nem egy hello word.
Az npm modulok között rengeteg komolyabb kód van, nézd csak meg például az npm weboldalának kódját, vagy bármelyik általa használt modul kódját.
Az eredeti kérdésedben nem volt szó kiszolgálórendszerről, mivel nem is feltétlen az a Node.js célja, hogy weboldalakat szolgáljon ki.
Azaz hálózati alkalmazásokhoz, amik nem feltétlen weboldalak. Lehet hogy egyik végéről olvas több szolgáltatástól adatokat, másik oldalon pedig egy XML streamet szolgál ki. Vagy bármi mást. Én például leginkább parancssoros alkalamzásokhoz használom.
A Clojure mint a nyelv, amihez nem nagyon kell érteni? Azért ez egy aranyos elképzelés.
Egyébként nem tudom, mi a meglepő abban, hogy Javában sokszor annyi sor megírni bármit, mint egy tetszőleges scriptnyelvben/funkcionális nyelvben. A tömörség sosem tartozott az erényei közé...
Valóban.. visszavonom, hogy nem kell annyit érteni, mert félreérthető.
Amire gondoltam, hogy nem kell érteni olyan szinten a tervezéshez, mint Java-ban.
A Java tömörsége és hogy mennyi sor megírni bármit is az egy web app esetén 90%-ban a programozó tudásától függ.. 50x különbség "kicsit" sok.
Ilyen meretu rendszereknek teljesen mindegy milyen nyelven irod, marhara meg kell tervezni.
Ha ehhez Javanal meg tobbet kell tervezni, meg kodolni, akkor lehet nem az a megfelelo eszkoz a megvalositasara.
Másrészt, nem többet kell tervezni, hanem érteni kell hozzá,
mint minden OOP nyelvhez. Több év mire megtanulsz hatékonyan
tervezni és használni egy OOP struktúrát.
Nem hiszem, hogy van olyan programozási nyelv, amiben ennyivel jobb/tömörebb kódot lehet írni ugyanannyi funkcionalitással, inkább arról (is) lehet szó, hogy volt egy első, működő verziójuk, sokminden működés közben derült ki (mire van/nincs szükség), ennek megfelelően elvégezték a módosításokat, s Jávában is jóval rövidebb lett volna az újabb változat.
Java frontend replacing the
Szerintem ez mindent elárul.
Iszonyú béna programozóik voltak és mivel nem akarták a szarkupacot tovább
növelni inkább olyan nyelv/megoldás után nyúltak, amihez nem nagyon kell érteni.
Most beküldhettem volna a
Performance: In one set of Load & Performance tests done on the same app built on both the Java stack vs the Node stack showed a 10x throughput in scale.
All in on Node.js: all the new applications in PayPal are now being built using Node.js
Lines of code: In general they have seen code size shrink by factor of 3-5 by moving from the Java stack to the Node stack. Even the number of files shrunk by a similar factor.
Vajon a Paypalnál is csak dilettáns programozók vannak? :)
Szinte bármilyen nyelvben
De megnéztem az oldalt is mert nehéz volt elhinnem.. a lényeg, hogy aki egy ilyen
primitív oldalt 150e sor javából hoz össze az béna (van összehasonlítási alapom).. és ezzel nem a node.js-t fikázom.
Primitiv oldal? A hir
A hir megjelenitesen kivul azert jopar plusz dolog is van itt:
real time analitika
dinamikus reklam hely menedzsment
ecommerce
ajanlo rendszer
Amire ratesz egy lapattal az oldal latogatoszama. Nem mondom hogy atomfizika, de nem egy egyszeru Wordpresses hiroldal azert.
Igazad van nem primitív..
Almáskörte
Igen, ez főleg a PHP-nek megy
A java annyival van "jobb" helyzetben, hogy erős az
üzleti szektorban, ahol a php nem tudott megkapaszkodni igazán.
Egyébként meg már szívesen ránéznék egy komolyabb node.js kódra,
ami nem egy hello word.
npm
Ilyen alapon ajánlhatnád,
Attól mert elolvasol egy forrást, még nem tanulod meg, hogy az
adott környezetben, hogy kell/lehet hatékonyan felépíteni egy
kiszolgáló rendszert.
Kérdezted
ami nem egy hello word.
Az npm modulok között rengeteg komolyabb kód van, nézd csak meg például az npm weboldalának kódját, vagy bármelyik általa használt modul kódját.
Az eredeti kérdésedben nem volt szó kiszolgálórendszerről, mivel nem is feltétlen az a Node.js célja, hogy weboldalakat szolgáljon ki.
Köszönöm, ilyesmire
Ez már egy elég komplex rendszer.
Viszont, hogy érted azt, hogy nem feltétlen az célja
a Node.js-nek, hogy weboldalakat szolgáljon ki? Akkor mi, ha nem ez?
building fast, scalable
Azaz hálózati alkalmazásokhoz, amik nem feltétlen weboldalak. Lehet hogy egyik végéről olvas több szolgáltatástól adatokat, másik oldalon pedig egy XML streamet szolgál ki. Vagy bármi mást. Én például leginkább parancssoros alkalamzásokhoz használom.
Írtak már benne driver-t is.
Nem csak a node-ra
(és az eredménye)
Egy elvetemültebb fajta node project, aminek semmi köze a webhez: tiling window manager. Kismillió más ilyen (nem webes) node modul van az npm-ben.
Szerintem ez a
A Clojure mint a nyelv,
Egyébként nem tudom, mi a meglepő abban, hogy Javában sokszor annyi sor megírni bármit, mint egy tetszőleges scriptnyelvben/funkcionális nyelvben. A tömörség sosem tartozott az erényei közé...
Valóban.. visszavonom, hogy
Amire gondoltam, hogy nem kell érteni olyan szinten a tervezéshez, mint Java-ban.
A Java tömörsége és hogy mennyi sor megírni bármit is az egy web app esetén 90%-ban a programozó tudásától függ.. 50x különbség "kicsit" sok.
Ilyen meretu rendszereknek
Ha ehhez Javanal meg tobbet kell tervezni, meg kodolni, akkor lehet nem az a megfelelo eszkoz a megvalositasara.
Egyrészt nem kell "annyival"
Másrészt, nem többet kell tervezni, hanem érteni kell hozzá,
mint minden OOP nyelvhez. Több év mire megtanulsz hatékonyan
tervezni és használni egy OOP struktúrát.
Ugyanez igaz a Javascriptre
Webes dolgoknal nekem mindig tulbonyolitasnak erzodott Javat hasznalni.
Egy mérésből általánosítani
Nem hiszem, hogy van olyan