29 votes

Évolution de PHP et de Python

Pourquoi PHP est-il considéré comme plus évolutif que Python ?

J'ai entendu plusieurs fois que l'une des raisons pour lesquelles PHP est "meilleur" que Python est que PHP est plus facilement extensible, et que Yahoo le prouve (en supposant que Yahoo utilise toujours PHP).

Quelle est la différence entre PHP et Python en matière d'évolutivité ?

-- modifier --
Je n'ai aucune preuve, la question s'est posée après une discussion avec un ami.

-- edit2 --
Ici : http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html même si cela ne dit rien sur la graduation

140voto

Lennart Regebro Points 52510

Eh bien, Google utilise beaucoup de Python, alors cet argument disparaît...

L'extensibilité est une question complexe qui ne peut jamais être réduite à dire que X est plus extensible que Y. Extensible comment ? La mémoire ? Vitesse ? De stockage ? C'est comme dire que PHP est plus écologique que Python, ou l'inverse. C'est tout simplement absurde.

92voto

e-satis Points 146299

Les langages, bibliothèques et frameworks ne sont pas évolutifs. Les architectures, si.

Si vous concevez une architecture solide. Si vous êtes capable de la faire évoluer rapidement. Elle évoluera.

Yahoo ! utilise PHP, Google utilise Python. Mais tous deux utilisent C/C++ pour le traitement intensif des ressources, car vous n'utiliserez de toute façon pas un langage interprété pour cela.

Maintenant, la question est de savoir lequel permettra à votre équipe d'évoluer le plus facilement ? Comme j'ai beaucoup travaillé avec Python et PHP, j'ai tendance à penser que le premier conduit à un code beaucoup plus facile à déboguer / maintenir. Et quand votre projet grandira, votre équipe suivra, c'est donc un point important à prendre en considération.

16voto

S.Lott Points 207588

Ce que certaines personnes aiment dire, c'est ceci .

PHP est intégré à Apache, et utilise relativement peu de mémoire.

Python est moins souvent intégré à Apache, et utilise plus de mémoire que PHP. Python est parfois exécuté comme un processus démon séparé. (Il peut aussi être intégré, ce qui permet d'effectuer des tests en tête-à-tête). Cela ne vaut pas la peine d'essayer de faire du head-to-head, plus sur ce point ci-dessous).

Nous n'utilisons pas PHP, donc je n'ai pas de chiffres. Cependant, le Python démonisé (via mod_wsgi) exécute nos transactions assez rapidement pour que je ne puisse pas facilement mettre en place un test de charge, car mon ordinateur portable ne peut pas pomper suffisamment de transactions à travers le VPN et le pare-feu pour mesurer autre chose que les délais du VPN.

De plus, au fur et à mesure que notre utilisation augmente, nous ajoutons simplement des instances du démon Python par de simples modifications d'Apache pour gérer la charge de travail. Si nous finissons par dépasser la taille de la VM, nous séparerons simplement les front-ends Apache des backends Python sur des VM distinctes. Nous ne voyons pas de limite à ce type de croissance : plus d'Apache, plus de démons Python.

Vous ne pouvez pas facilement comparer PHP et Python car l'approche d'une application web est généralement assez différente. PHP est à la fois un langage de programmation, un langage de modèles et un gestionnaire HTTP. Python n'est qu'un langage. Vous devez ajouter un processeur de modèles (il y en a beaucoup) et un gestionnaire HTTP (il y en a beaucoup) pour avoir un ensemble d'outils comparable.

5voto

crosenblum Points 679

Dans mon esprit, ce n'est pas le langage qui compte, mais plutôt la façon dont il est utilisé et les applications qui sont bien écrites pour être plus évolutives.

Il est également important de savoir comment il fonctionne avec les bases de données, les entrées/sorties de fichiers, les méthodes de mise en cache disponibles...

Du moins, c'est mon avis.

2voto

fabrik Points 7073

Un bel article de Jeff Atwood : Le PHP est nul, mais ça n'a pas d'importance.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X