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

Débats sur le développement - Le Best Of Discussion :

PHP s’imposera sur les serveurs face à Java et .NET


Sujet :

Débats sur le développement - Le Best Of

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2010
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 310
    Par défaut
    Facebook avait utilisé PHP principalement car il était facile de trouver des développeurs PHP pour leur besoin énorme de croissance tant au niveau code (mais aussi au niveau infra).
    Cependant on a vu avec hiphop que PHP avait commencé à leur poser problème (performances) et qu'ils ont travaillé pour non pas s'en séparer (vu leur base de code c'est illusoire) mais pour contourner le problème etc.

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Par défaut
    Citation Envoyé par David_g Voir le message
    Facebook avait utilisé PHP principalement car il était facile de trouver des développeurs PHP...
    Non, Mark Zuckerberg a utilisé Facebook parce que c'est ce qu'il maîtrisait le mieux, qu'il codait ça pendant ses études, et qu'il devait faire vite pour piquer l'idée aux jumeaux trop occupés à faire du rameur.

    Une fois bien lancé, il s'est trouvé coincé avec ce choix technologique, il a dû faire avec et trouver des solutions (parfois assez compliquées). Aujourd'hui fb se trimballe encore ce choix historique, même s'ils essayent de le remplacer petit à petit par autre chose (mais ça prend du temps, Rome ne s'est pas construite en un jour).


    Bref, quand on a des deadlines super serrées, on ne choisit pas forcément la solution la mieux adaptée mais la plus accessible, c'est-à-dire :
    - celle qu'on maîtrise le mieux (on ne perd pas de temps à devoir apprendre quelque chose de nouveau)
    - celle qui respecte le budget (ça sert à rien de choisir une technologie qui fait le boulot à notre place si on ne peut pas se l'offrir à cause du coût des serveurs ou autre)

    Une fois ce choix effectué, généralement on l'assume pendant assez longtemps par la suite. Vu qu'on ne peut pas se permettre de tout réécrire du jour au lendemain, on fait des patches et des bidouilles pour que ça continue de tourner.

    Donc Mark Zuckerberg a choisi PHP parce que c'était plus accessible pour lui que le reste (y compris Java) et a recruté plein d'ingénieurs par la suite par rapport à ce choix historique (et non pas parce qu'il y avait plein de développeurs PHP : il y avait autant, si ce n'est plus, de développeurs Java en 2004).
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Citation Envoyé par miboo Voir le message
    En dehors de la preche, sur quoi se base Andi pour dire que Java est trop lent ?
    Justement si cela avait été un peu étayé ça aurait été intéressant, mais là c'est creux ... vide, nada.

    Pire, cela fait penser à ceux qui faisaient "mumuse" avec des Applets en 1997 dans Netscape Navigator ou dans IE 4 et qui disaient (à raison) "Java c'est lent" ... mais depuis (on est en 2012 je le rappelle) ce n'est plus vrai et malheureusement les vieilles idées reçues ont la peau dure. Java a pris un sérieux "boost" avec la 1.4.2, puis la 1.5 et encore la version 6 ... et la 7 c'est du bonheur.

    A chaque version, les performances de la JVM (avec du bytecode client JAVA inchangé) sont meilleures.

    Bref, un argumentaire de bistro émanant d'Andi Gutmans, ça fait un peu pitié.

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 814
    Par défaut
    Citation Envoyé par fxrobin Voir le message
    (.../...)

    A chaque version, les performances de la JVM (avec du bytecode client JAVA inchangé) sont meilleures.
    (.../...)
    Ca ne sera jamais aussi bon que du natif assembleur ou C micro-optimisé au poil de derche.

    Mais, pour une très grande majorité d'applis, ça suffit, aujourd'hui. Ca n'a pas toujours été le cas, et c'est une réputation qui va être difficille à décoller de la semelle.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2012
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 117
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    Ca ne sera jamais aussi bon que du natif assembleur ou C micro-optimisé au poil de derche...
    Ca me rappelle le bon temps de ces débats et a cette époque, vu du Java plus rapide que du C, because HotSpot était plus futé que le développeur qui n'avait pas utilisé toutes les bonnes options d'optimisations ... Cela étant dans ce débat, n'oublions pas que la partie strictement "calcul" dans une application web reste limitée et 100x plus lent peut au final ne se traduire que par un x3 ou x4 (et pour peu que tu fasses du templating de ouf dans ton IHM ...).

  6. #6
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    Ca ne sera jamais aussi bon que du natif assembleur ou C micro-optimisé au poil de derche.
    C'est certain. Je te rejoins sur ce point. D'ailleurs quand on le souhaite on appelle du code natif avec JAVA (JNI) ... donc on a toujours la possibilité de le faire, mais on perd le "compile once, run anywhere" ...

    De plus, je me vois mal faire un site web en JSF + Ajax + Transactionnel + Load Balancé en assembleur A une époque je m'amusais même à ré-écrire mes routines d'accès à la carte vidéo (mode X 13h pour ceux qui se souviennent) avec Triple Buffering et tout tout ... et un jour est arrivé Direct X ... plus personne ne fait sans Direct X aujourd'hui.

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 836
    Par défaut
    Citation Envoyé par fxrobin Voir le message
    A chaque version, les performances de la JVM (avec du bytecode client JAVA inchangé) sont meilleures.

    Bref, un argumentaire de bistro émanant d'Andi Gutmans, ça fait un peu pitié.
    J'ai envie de dire que les compilateurs de chaque langage s'améliorent à chaque version. Niveau argumentaire pitoyable, tu l'as rejoint sans vouloir te manquer de respect

    De nos jours, je ne suis pas persuadé que les dev C++ les plus pointus aillent bidouiller le binaire final pour gagner en perf ni inclure de l'assembleur.
    C'est vachement plus simple de filer les options d'optimisation au compilo.

    Maintenant, vu que la question ici concerne PHP: l'interpréteur PHP a-t-il des "options de compilation" ou trucs du genre pour améliorer les performances sans toucher au code ?


    Après, si on veut vraiment choisir le meilleur langage, je pense que le meilleur, c'est celui déjà utilisé. Si on tape dans les limites, il faut ensuite voir si quelqu'un dans l'équipe maîtrise un langage mieux adapté et qui peut s'interfacer avec le 1er.

    Parce que bon, la formation c'est pas donné, sans compter que, pendant ce temps, le travail n'avance pas. Et si en plus il faut réécrire une vieille appli... les coûts et les délais explosent pour une perte de stabilité (historique des bugs corrigés).

  8. #8
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Citation Envoyé par Freem Voir le message
    J'ai envie de dire que les compilateurs de chaque langage s'améliorent à chaque version.
    Malheureusement tu me fais dire ce que je n'ai pas dit.

    Je n'ai pas dit que les autres de s'étaient pas améliorés, j'ai juste dit que Gutmans s'était figé dans le temps en ce qui concerne JAVA ... version 1996 ... et qu'il a dû oublié d'étudier sérieusement les autres plateformes que la sienne dans l'intervalle et je trouve cela consternant.

    Citation Envoyé par Freem Voir le message
    Niveau argumentaire pitoyable, tu l'as rejoint sans vouloir te manquer de respect
    J'ai quand même fourni quelques benchmarks et d'autres contributeurs aussi, je pensais avoir un peu argumenté mon point de vue ... ou alors tu n'as pas tout lu, sans vouloir te manquer de respect

  9. #9
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut
    Citation Envoyé par miboo Voir le message
    j'ai du mal à comprendre pourquoi je vois beaucoup d'application Java assez basique et pourtant très lente comparé à la même chose en PHP. Facebook qui est une application qui doit nécessiter une performance de malade a pourtant fait le choix d'un PHP (adapté). Et ce n'est qu'un exemple parmi d'autres.
    Si tu fait attention lorsque tu utilises Facebook tu ne change pas beaucoup de page (enfin lors mon utilisation en tout cas), beaucoup de choses se fait en Ajax. La problématique de Facebook est surtout lié a la rapidité d'acces aux données et ce, n'est pas directement lié au language de programmation. D'ailleurs Facebook a en interne ses propres outils PHP et bases de données sur mesure, donc ce n'est pas tellement facile de comparer Facebook et PHP.

  10. #10
    Membre éprouvé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2012
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 117
    Par défaut
    Citation Envoyé par alex_vino Voir le message
    ...D'ailleurs Facebook a en interne ses propres outils PHP...
    Je résume, fb réécrit memcache et ses drivers réseau, du C donc, écrit Cassandra, un NoSQL en Java, un compilateur PHP/C++ ... je ne serais pas surpris de trouver quelques bricoles en Python et autres langages, bref, fait ce qu'on fait tous dans ces cas là, utiliser les technologies adaptées au problème donné.

    A miboo plus haut, au sujet des applications Java "lentes", pour information, bon nombre de sites web, c'est vrai plutôt "pro", sont développés sur des solutions comme Liferay, Nuxeo ... et autre ametys, hippocms. Il est vrai qu'in fine, les pages ne sont pas suffixées en .jsp ...

  11. #11
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut
    Citation Envoyé par rimram31 Voir le message
    Je résume, fb réécrit memcache et ses drivers réseau, du C donc, écrit Cassandra, un NoSQL en Java, un compilateur PHP/C++ ... je ne serais pas surpris de trouver quelques bricoles en Python et autres langages, bref, fait ce qu'on fait tous dans ces cas là, utiliser les technologies adaptées au problème donné.
    Je n'ai jamais dit que Facebook a creer ses propres languages de programmation, drivers... ne fait pas dire ce que je n'ai pas dit, surtout en presentant les extremes.
    C'est juste que Facebook a developer certains de ses propres outils, et pas seulement concernant le PHP (n'est ce pas), pour pallier a de nouveaux problemes majeurs que les outils existant ne sont pas toujours capables de repondre (ou de maniere inadaptee), tel les donnees par exemple.
    Facebook n'est pas la seule entreprise a le faire loin de la.

Discussions similaires

  1. [Info] Document sur les serveurs d'applications ?
    Par Tiberghien dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 1
    Dernier message: 18/01/2006, 06h55
  2. Question sur les serveurs (suite)
    Par ChriGoLioNaDor dans le forum C++
    Réponses: 2
    Dernier message: 12/01/2006, 01h03
  3. [PHP] PB sur les formulaires
    Par chaser_T dans le forum Langage
    Réponses: 6
    Dernier message: 10/01/2006, 06h35
  4. Question sur les serveurs
    Par ChriGoLioNaDor dans le forum C++
    Réponses: 2
    Dernier message: 07/01/2006, 00h55

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