IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Expert éminent sénior
    Avatar de Idelways
    Homme Profil pro
    Développeur Ruby on Rails / iOS
    Inscrit en
    Juin 2010
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Ruby on Rails / iOS

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 374
    Points : 68 548
    Points
    68 548
    Par défaut Le framework Node.js tient-il ses promesses ? Un développeur d'eBay le qualifie de "cancer"
    Le framework Node.js tient-il ses promesses ?
    Un développeur d'eBay le qualifie de "cancer" et de "désastre de scalabilité"


    Après la période d'effervescence qui a suivi son lancement, le buzz s'est quelque peu tassé autour du framework événementiel Node.js, laissant place aux critiques et aux polémiques.

    Et le développeur Ted Dziuba (d’eBay) ne s'est pas gêné. Qualifiant, tour à tour, la librairie serveur JavaScript de « cancer », de « tumeur dans la communauté de la programmation », « d'un désastre de scalabilité sur le point de se produire », et enfin sur la forme « d'une librairie logicielle désagréable » qu'il ne compte jamais utiliser.

    Pas l'une des plus polies. La diatribe commence par s’en prendre à Ryan Dahl, l'inventeur de Node.js qui a publié sur Google+ un post qui aurait déclenché cette avalanche de haine envers le phénomène Node.js, soutenu — rappelons-le — par Microsoft, Mozilla et Heroku.

    Dziuba reproche à l'inventeur de Node.js de n'avoir tout simplement aucune idée de ce qu'il fait. Le site officiel explique en effet que les développeurs non-experts peuvent créer « des systèmes rapides », car aucune des fonctions Node.js n'effectue « directement » des opérations d'entrées-sorties, et par conséquent « rien ne bloque ».

    Ce que Dziuba rejette en bloc en expliquant que toute fonction qui effectue des appels CPU est susceptible de bloquer les autres opérations, prenant à témoin une simple fonction qui calcule la suite de Fibonacci.

    Passons les performances déplorables qu'afficherait Node.js sur cette démonstration, il s'attaque ensuite à un autre aspect qui le rebute : « Node puni le développeur, car il désobéit à la philosophie Unix [Unix Way] ».

    Il explique en substance qu'en embarquant son propre serveur HTTP (recommandé et supposé être utilisé en production), Node.js prive de la simplicité et prospérité qui découle du respect du principe d'architecture à couplage lâche, facile à maintenir.

    Ne mâchant toujours pas ses mots, il explique que ce serait au développeur de configurer « cette orgie de proxy HTTP s’il veut monter un véritable serveur web sur Node.js pour desservir des fichiers statiques, réécrire les liens... », bref, tout ce qu'un serveur web sait faire.

    Car, explique-t-il, formel, aucun administrateur système ne s'intéressera en premier à Node.js.

    Enfin, il ironise à propos de l'utilisateur du langage JavaScript qui serait « probablement la pire chose qu'un framework côté serveur ferait ». Finissant son exposé par un bout de code qui devrait selon lui faire honte même à Rasmus Lerdorf, l'inventeur de PHP !

    Après la levée de boucliers que ce billet a provoquée dans le camp Node.js, il revient expliquer plus sereinement sa position à force de théorèmes et d'équations mathématiques, pour arriver à la conclusion que « Node.js reste un cancer », et « un danger pour les développeurs novices ».


    Et vous ?

    Avez-vous utilisé Node.js ? Que pensez-vous des critiques de Dziuba ?
    Le framework tient-il ses promesses d'après vous ?

    Source : Premier billet, deuxième billet

  2. #2
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2004
    Messages : 129
    Points : 336
    Points
    336
    Par défaut
    Je ne connaissais pas Node.JS (a part de nom), et je vais jeter un oeil, mais avec un certain apriori negatif : un framework qui embarque son propre serveur, c'est un peu beaucoup une hérésie pour moi...

    Teocali

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 354
    Points : 491
    Points
    491
    Par défaut
    Que pensez-vous des critique de Dziuba ?
    Ce que Dziuba semble rejeter dans son exemple de Fibonacci c'est le coté mono-thread par défaut de nodejs , qui est bloquant.... Pourtant il existe une alternative à savoir webWorker, l’implémentation des Worker en nodejs (sorte de thread).
    Il semble en parlé dans son deuxième billet, mais j'ai rien pigé

    Le framework tient-il ses promesses d'après vous ?
    Ce que j'aime dans nodejs c'est la gestion des sockets, super simple , coté client et serveur avec socketio.

    Le coté évènementiel et asynchrone des appels système ou bd est au départ un peu déroutant. Il faut repensé un peu ces façons de faire, tout paralléliser, mais une fois les techniques de base comprise, on si fait, surtout si ça rend le programme plus véloce.
    Par exemple, j'ai eu à faire une récupération récursive de l'arborescence d'un dossier, ce qui ce fait très simplement en java ou php , mais qui l'est déjà beaucoup moins en nodejs .... Difficile à expliquer, sans code, disons qu'il fallait jouer avec des piles de fonctions de rappel, et une bonne maîtrise de la porté des variables. Peur ceux que ca intéresse -> http://stackoverflow.com/questions/5...rectory-search

    Ce que j'aime aussi dans nodejs c'est le fait que ce soit du javascript. Même si son coté dynamique peux rebuter à juste titre, son coté fonctionnel est vraiment excellent, et avec une bonne librairie, on peux contourné tout les défauts du langage.
    De plus l'annonce de Dart par google risque bien de relancer le projet ....

    En ce qui concerne la "philosophie Unix " , ça ne me dérange pas, mais je ne peux pas vraiment m’exprimer dessus, n'ayant pas les compétences, même si sans doute il aurait été préférable de laisser le choix ...

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1
    Points : 0
    Points
    0
    Par défaut Lui c'est un bon...!
    Dziuba reproche à l'inventeur de Node.js de n'avoir tout simplement aucune idée de ce qu'il fait. Le site officiel explique en effet que les développeurs non-experts peuvent créer « des systèmes rapides », car aucune des fonctions Node.js n'effectue « directement » des opérations d'entrées-sorties, et par conséquent « rien ne bloque ».
    Hé oui, c'est pour ça que certaines applications, telles que des services web (autrement appelées APIs par abus de langage), se jettent dessus!

    Ce que Dziuba rejette en bloc en expliquant que toute fonction qui effectue des appels CPU est susceptible de bloquer les autres opérations, prenant à témoin une simple fonction qui calcule la suite de Fibonacci.
    Ha oui, c'est clair, et quand il s'agit de réaliser une intelligence artificielle avec node.js, c'est encore pire ! Et encore, imagine le calcul du traffic aérien mondial avec ton app node.js !

    Autant y a des mecs qui jugent les langages en faisant des benchmark sur des "Hello World" (oui, c'est idiot), autant lui il benchmark sur la panoplie mathématique. Très utile pour faire une webapp qui stream des données...
    Chaque langage et architecture a ses forces et faiblesses, mais ça on le sait tous... Sauf lui visiblement.

    Passons les performances déplorables qu'afficherait Node.js sur cette démonstration, il s'attaque ensuite à un autre aspect qui le rebute : « Node puni le développeur, car il désobéit à la philosophie Unix [Unix Way] ».Il explique en substance qu'en embarquant son propre serveur HTTP (recommandé et supposé être utilisé en production), Node.js prive de la simplicité et prospérité qui découle du respect du principe d'architecture à couplage lâche, facile à maintenir.
    Alors d'un côté on a un serveur node.js écrit avec 20 lignes de codes, et aucun autre software third party, et d'un autre on a un stack applicatif. Et c'est node.js qui amène des problèmes de maintenance ? Et que pense-t-il de la "simplicité" des mise à jours de sécurité/maintenance sur tout le stack, les problèmes de compatibilité entre ces divers éléments, configs à droite à gauche selon les versions...?

    Ne machant toujours pas ses mots, il explique que ce serait au développeur de configurer « cette orgie de proxy HTTP s’il veut monter un véritable serveur web sur Node.js pour desservir des fichiers statiques, réécrire les liens... », bref, tout ce qu'un serveur web sait faire. Car, explique-t-il, formel, aucun administrateur système ne s'intéressera en premier à Node.js.
    LOL, il a entendu parlé du concept de PAAS ? Faut se mettre au goût du jour, monsieur... les sys-admins d'aujourd'hui ils lèvent des millions pour faire justement ça (Cf. DotCloud avec 10M$, CloudBees avec 10.5M$, Nodejitsu avec 750K$, Joyent avec 15M$, etc). Et ceux qui se font racheter le font pour 212$ million de dollars.

    Enfin, il ironise à propos de l'utilisateur du langage JavaScript qui serait « probablement la pire chose qu'un framework côté serveur ferait ». Finissant son exposé par un bout de code qui devrait selon lui faire honte même à Rasmus Lerdorf, l'inventeur de PHP !
    Ah ok, alors là il fait d'une pierre deux coups, node.js et php : BOUM !
    Et donc c'est quoi le vrai problème dans tout ça ?
    A part faire le malin ?

    Après la levée de boucliers que ce billet a provoquée dans le camp Node.js, il revient expliquer plus sereinement sa position à force de théorèmes et d'équations mathématiques, pour arriver à la conclusion que « Node.js reste un cancer », et « un danger pour les développeurs novices ».
    Il devient plus serein ? Ou il ferme sa *biiiip*, tout en rationalisation ses propos arrogants comme il le peut encore ?

    Il rationalise à force de théorèmes et d'équations mathématiques ?

    Ca y est, il nous ressort Fibonnacci...

    Bref, même conclusion qu'hier : I’ll stick with Javascript/Node.js for the moment, and there will still be plenty of time to adapt to [put hot language/hot topic here], if ever needed!

    [Trad. Je reste sur Javasript/Node.js pour le moment, et il sera toujours temps de s'adapter à autre chose si besoin est...]

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 273
    Points : 2 202
    Points
    2 202
    Par défaut
    Bah sans être aussi violent que lui il a d'accord.

    Quite à vouloir faire de la prog événementiel, le faire vite et bien, il y a zmq. c'est différent dans le concept, mais c'est d'un autre niveau...

    Pour la vitesse; il a raison : forcémment, plus on prend de raccourcis plus on va vite, après, il faut savoir ceux que l'on a pris, et le raccourci ne sera pas toujours le plus rapide.

  6. #6
    Membre averti Avatar de vintz72
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 154
    Points : 316
    Points
    316
    Par défaut
    C'est marrant ce sont les même qualificatifs que j'utilise pour JBoss 4 !

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 273
    Points : 2 202
    Points
    2 202
    Par défaut

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2007
    Messages : 884
    Points : 2 018
    Points
    2 018
    Par défaut
    La critique est normal, constructive. N'y a t'il pas eu un tel tollé pour java et autre consorts au moment ou il commencèrent à émerger.
    L'apport de node.js est dans
    - un paradigme nouveau et qui plus est très intéressant. Il existe la programmation impérative, fonctionnel, objet, aspect... et celle node.js. Ce paradigme permet de dire tu fait ça et quand tu aura fini ceci mais tu peut tout de suite continuer avec cet autre chose pour le moment. Ce "mais" est totalement inconnu dans les autres langages. Ca c'est Javascript et surtout JQuerry qui l'on inventé.
    - Et puis il y a l'innovation côté langage interprété. On est passé du compilé C au pseudo compilé Java puis à l'interprété PHP/Python et voici l'interprété qui se compile en live. Ca c'est le moteur Google V8 qui l'a inventé.
    Node.js met en avant ces avantages indéniables et étend leurs domaines d'application.
    Tout ce que j'écris est libre de droits (Licence CC0) et je vous incite à faire de même.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Comme ca a ete dit ca depend de ce qu'on attend de node.
    Mr qui vient d'ebay espere peut etre faire une mega grosse application avec des developpeurs third party (si jpuis dire).

    Apres pe qu'avec des bonnes pratiques et un sizing bien choisit node se revele etre un framework adapte.
    Pour ma part, je projette mal quel type de projets on pourrait faire de node mais quand je vois des frameworks tels que ext(que je n'aime pas mais passons), je ne doute pas qu'il existe des bonnes pratiques bien rodees pour assurer une qualite de la part des devs et autres.

    On dit que php est evil, on dit que js est evil, on dit que node est evil...
    Rien ne va plus

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 5
    Points : 10
    Points
    10
    Par défaut
    Bon c'est vrai que le monsieur se paie du bon temps. Mais il faudrait voir à se détendre un peu et à ne pas prendre tout au pied de la lettre.
    Les billets de Dziuba sont évidemment des trolls ; ce qu'il faut en retirer c'est que Node JS, contrairement à ce que le buzz peut laisser entendre, n'est pas une silver bullet, un outil à taille unique qui convient à tous les projets.
    Dziuba veut seulement que les développeurs fassent appel à la science et à l'esprit critique plutôt qu'à de quelconques effets de mode. On ne peut pas le lui reprocher.

  11. #11
    Membre du Club
    Homme Profil pro
    Dév SIG-web
    Inscrit en
    Août 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dév SIG-web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2010
    Messages : 28
    Points : 66
    Points
    66
    Par défaut
    La critique est normal, constructive. N'y a t'il pas eu un tel tollé pour java et autre consorts au moment ou il commencèrent à émerger.

    Oui la critique est constructive, mais les afficionados de node le sont moins

    L'apport de node.js est dans
    - un paradigme nouveau et qui plus est très intéressant. Il existe la programmation impérative, fonctionnel, objet, aspect... et celle node.js. Ce paradigme permet de dire tu fait ça et quand tu aura fini ceci mais tu peut tout de suite continuer avec cet autre chose pour le moment. Ce "mais" est totalement inconnu dans les autres langages. Ca c'est Javascript et surtout JQuerry qui l'on inventé.
    Perso je fais ça avec erlang et erlang existe depuis une vingtaine d'années !

  12. #12
    Candidat au Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Points : 4
    Points
    4
    Par défaut
    Une petite info trouvée sur le forum node.js: Ouvrez http://teddziuba.com/ avec Firefox + Firebug et regardez les entêtes:

    X-Trolled: Hard

  13. #13
    Candidat au Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par ludochm Voir le message
    Oui la critique est constructive, mais les afficionados de node le sont moins

    Perso je fais ça avec erlang et erlang existe depuis une vingtaine d'années !
    Veinard!

    Erlang, c'est un peu la Rolls (ou la Ferrari) de la programmation concurrente. Node.js ça serait plutôt la twingo: démocratique, accessible, fun, et plus rapide que les semi-remorques!

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 39
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par Teocali Voir le message
    Je ne connaissais pas Node.JS (a part de nom), et je vais jeter un oeil, mais avec un certain apriori negatif : un framework qui embarque son propre serveur, c'est un peu beaucoup une hérésie pour moi...

    Teocali
    depuis, les performances ont encore augmenté, et au final, ce n'est pas un framework qui embarque son propre serveur web, mais un framework qui permet de dev des serveurs (pas forcement web, mais aussi tcp, udp ...)

  15. #15
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 215
    Points : 0
    Points
    0
    Par défaut
    comment fait on pour installer node.js sur un serveur non local?

Discussions similaires

  1. Google donne accès à ses API aux développeurs .NET
    Par Stéphane le calme dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 27/03/2014, 11h26
  2. Réponses: 2
    Dernier message: 23/10/2010, 17h02
  3. Réponses: 0
    Dernier message: 07/07/2010, 14h53
  4. Utiliser ses propres classes avec Zend Framework
    Par Adinsx dans le forum Zend Framework
    Réponses: 3
    Dernier message: 28/02/2008, 21h01
  5. Comment sauver un TTreeView et ses nodes data ?
    Par faimo dans le forum Composants VCL
    Réponses: 6
    Dernier message: 19/04/2005, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo