kostenloser Webspace werbefrei: lima-city


nodejs schlecht

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    w3j

    w3j hat kostenlosen Webspace.

    Hallo,
    ich wollte mal fragen ob das was Toby sagt (http://phpmagazin.de/Ist-Node.js-schlecht%3F-061730.html) so alles richtig ist.
    Ich dachte immer, node währe ziemlich schnell, viel schneller als php, python und co und duch das asynchrone arbeiten ist es bei datenbankabfragen auch viel schneller?
    Ist node nun schlechter als andere Sprachen oder nicht?
    Gerade im Bezug auf Echtzeitapps?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. g****e

    Für Echtzeitapps ist es quasi genial.
    Prinzipiell ist zu solchen Leuten zu sagen, dass sie sich einfach nicht mit NodeJS auseinandergesetzt haben. Mit NodeJS lässt sich sehr viel sehr schnell umsetzen, aber fangen wir mal oben an.

    Die V8 Engine auf servern sei ein Problem wird beschrieben. Komisch, dass Software ein Problem ist. Defacto ist die V8 nichts anderes als ein Interpret wie auch für andere Scriptsprachen, nur halt ein wirklich guter. Die geschwindigkeit ist verdammt schnell, auch an Java heranreichend, ohne Probleme.

    Dann wird beschrieben, dass er nach 6 Monaten nicht mehr in der Lage ist seinen eigenen Code nachzuvollziehen. Das ist eigentlich echt Peinlich für ihn, weil der Codestyle ist SprachenUNABHÄNGIG. Wer zu dämlich ist seinen Code richtig zu strukturieren und aufzubauen, naja, der hats nicht besser verdient. Und wieder wird dran genörgelt "mit alten Browserkomponenten"... Jo, ist ja auch alt, gerade erst in der Entwicklung, ist schon uralt. Und dass er das Prinzip von NodeJS, sowie auch Javascript, nicht verstanden hat, das liest man schon in den ersten paar Zeilen. Unfähigkeit seis geschuldet.

    Zu der CPU sei gesagt, es läuft NICHT, ich wiederhole es mal, NICHT alles auf einem Kern. Wer auch nur ein bisschen mit NodeJS arbeitet weiß, dass die Prozesse durch LibUV schon paralelisiert werden, es wird das aktive Warten, was richtige Server machen, jedoch abgeschafft. Anstatt aktiv zu warten "ist der Dateihandle nu endlich offen", wird in der Zwischenzeit PRODUKTIV gearbeitet. Das nennt man Optimierung, aber wie erwähnt, davon hat so ein kleiner Entwickler wohl keinen Plan.

    Im folgenden Artikel wird bemängelt, dass es ja keine Module gäbe, und Javascript daher eine denkbar schlechte Sprache wäre. Hier sieht man wieder: Diese Person hat garnicht mit NodeJS gearbeitet. Sie hat nicht ein einziges Zeichen versucht mit NodeJS zu arbeiten... NodeJS verwendet das CommonJS pattern für Module, und hat eine eigene Modulstruktur, die NodeModules, welche super einfach zu verwenden ist. Wenn man das nicht nutzt, ist man natürlich selbst der Fehler. Wenn man keine Ahnung von Architektur und Software hat, sollte man vllt erstmal lernen damit umzugehen.

    Und wenn ich abschließend schon lese "hat sich nur wenige Minuten angeschaut und kam zum gleichen Ergebnis", da sage ich nur: Tjoa, die Doofheit siegt halt. Wenn ich mir nen Auto anschaue, und ohne drinne zusitzen, nur vom sehen der Form, schon sage "Tjo, beschleunigt schlecht, sitz ist nicht schön drin zu sitzen, zu langsam, und das Fahrgefühl ist auch schlecht" sage, dann bin ich kein Genie, sondern ein konversativer Idiot ohne Interesse. Tut mir leid das so doof zu sagen, ist aber so.

    NodeJS hat seine Einsatzgebiete, welche es Adressiert und versucht optimal zu lösen. Dabei ist es natürlich nicht für jeden Fall optimal und perfekt, das ist allerdings keine Sprache und kein Framework. Wenn man sich mit NodeJS aber ein bisschen beschäftigt, stellt sich anfangs natürlich schon die Frage "wie löse ich dies und jenes Problem", teilweise auch, weil Javascript keine einfache Sprache ist. Aber wenn man erstmal drinne ist, ist es irre cool, sehr schnell, und noch viel einfacher. Gerade weil es so viel Modulasierung und Testbarkeit bietet, ist es eine sehr gute Entwicklungsgrundlage. Man muss sich erstmal reindenken, es ist nichts wo man von Minute 1 an supergut mit klarkommt, es ist aber erstaunlich, wie effektiv der Event-Driven ansatz funktioniert. So gut, dass es wohl auch schon Java Implementierungen dazu gibt, um auch Java Server zu optimieren..

    Zusammenfassend: NodeJS ist ein gutes Framework für die meisten Einsatzfälle, auch in Echtzeitanwendungen gut ist. Es erfordert aber einiges an Hirnschmalz um damit anzufangen, es zu verstehen, und es GUT zu machen. ABER: Ohne ausgibiges Lernen kannst du auch mit PHP oder Java irre murks machen. Komplizert is der Event-Driven bzw Asynchrone Ansatz, aber es ist, wenn man es erstmal verstanden hat, ein Prinzip, welches ich persönlich mir für viele andere Felder auch wünsche. Die Effizienz kann man übrigens am Beispiel von Paypal ganz gut verfolgen. eBay nutzt schon seit ewig NodeJS, und das läuft recht gut, und Paypal hat seinen Umstieg von Java auf NodeJS dokumentiert: https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/
    Daraus mal die wichtigsten Kennzahlen:

    * Built almost twice as fast with fewer people (weniger Zeit, weniger Leute => Weniger Kosten ²)
    * Written in 33% fewer lines of code (besser Wartbar, da weniger Code)
    * Constructed with 40% fewer files (besser Wartbar, da weniger Code)
    * Double the requests per second vs. the Java application (Bei NodeJS Singlecore vs Java 5Core, trotzdem NodeJS doppeltsoviele Requests beantwortet)
    * 35% decrease in the average response time (und zusätzlich nur 1 statt 5 Cores, UND nochmal im schnitt 35% schneller)


    Mach dir lieber ein eigenes Bild von NodeJS, als dich auf solche ahnungslosen Kritiker zu verlassen, die sich selbst wie Anfänger darstellen^^

    Liebe Grüße
  4. Autor dieses Themas

    w3j

    w3j hat kostenlosen Webspace.

    Vielen Dank für deine Einschätzung.

    Ich konnte schon php und wollte nun auf Echtzeit umsteigen. Da Websockets und co in php schlecht sind und ich schon immer in js server- und clientsoftware schreiben wollte lag node nahe. Hab jetzt mit socket.io und AngularJS angefangen.
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!