PHP n'est pas un mauvais langage (ou du moins pas aussi mauvais que certains le suggèrent). J'avais des professeurs qui ne savaient même pas que PHP était orienté objet jusqu'à ce que je le leur dise. J'ai des clients qui se méfient immédiatement de nous quand nous disons que nous sommes des développeurs PHP et nous demandons de ne pas utiliser des langages et des frameworks chics tels que Django ou RoR, ou des langages "d'entreprise et solides" tels que Java et ASP.NET.
Facebook est construit sur PHP. Il existe de nombreux projets solides qui alimentent le Web comme Joomla et Drupal qui sont utilisés dans l'entreprise et les gouvernements. Il existe des frameworks et des bibliothèques qui ont certaines des meilleures architectures que j'ai vues dans tous les langages (Symfony 2, Doctrine). PHP a la meilleure documentation que j'ai vue et une grande communauté de professionnels.
PHP a des fonctionnalités OO avancées telles que la réflexion, les interfaces, sans parler du fait que PHP prend désormais en charge la réutilisation horizontale de manière native et propre via les traits .
Il y a de mauvais programmeurs et des script kiddies qui donnent à PHP une mauvaise réputation, mais alimentent la communauté PHP en même temps, et parce qu'il est si facile de faire des choses PHP, vous pouvez souvent faire les choses de la mauvaise façon, d'accord, mais pourquoi blâmer le Langue?.
Maintenant, pour résumer cela en une vraie question: quel serait un bon argument solide et court et doux pour éviter d'être mal vu et arrêter les préjugés d'un seul coup et défendre votre honneur lorsque vous dites que vous êtes un développeur PHP? .
(biscuit gratuit avec de la crème fouettée à ceux qui ont des preuves empiriques de convaincre quelqu'un - client ou autre - sur place)
PS: Nous utilisons Symfony , et le code finit par être beau et maintenable
PPS: Facebook est écrit en PHP, compilé en C ++ via HipHop et déployé sur Hadoop. Ici: http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/1/
la source
Réponses:
La seule réponse que j'ai est la suivante: tout est nul.
Vous pouvez trouver des tonnes d'arguments contre la POO (une recherche rapide les révélera) contre une programmation fonctionnelle ou procédurale. Vous semblez indiquer que le support OO de PHP le défend.
Le vide de Google est nul et vous trouverez des résultats pour tout. Le python craint . Ruby craint . Rails craint . PHP craint . Java craint .
Vous voulez savoir ce qui craint vraiment? Programmeurs. Les programmeurs craignent. Tout bon développeur doit pouvoir créer une application étonnante, front-end et back-end, quelle que soit la langue - même s'il ne la connaissait pas! (C'est-à-dire qu'un bon programmeur devrait être capable d'apprendre et de travailler efficacement avec n'importe quelle langue).
Notez également que le succès d'une application n'a rien à voir avec son code. J'ai entendu dire que le code Facebook est affreux, mais par Dieu est-il efficace. Il en va probablement de même pour Wikimedia (Wikipédia est construit sur PHP et est également un site Web extrêmement populaire). Ce qui compte vraiment, ce sont les résultats!
PHP est le langage que je connais personnellement le mieux. Je vais le défendre à mort. J'ai travaillé avec des frameworks PHP, directement du code PHP et PHP, python et ruby (et même Java) tous pour le développement web. Je ne peux pas dire que l'un est particulièrement meilleur que l'autre. Ce qui importe le plus, ce sont les développeurs et les algorithmes. J'ai vu du code incroyablement bon et complètement horrible dans de nombreux langages (en particulier PHP car j'ai tellement d'exposition).
Maintenant pour votre question: cela dépend de qui vous avez affaire
Les hommes d'affaires
Ils se soucient principalement des résultats et de la rentabilité. Le fait que Facebook, Wikipedia et Wordpress connaissent beaucoup de succès utilisent PHP devrait être plus que suffisant pour les convaincre que c'est un langage efficace pour créer des applications réussies.
Programmeurs
Laissez votre code parler de lui-même. Si un développeur dit que PHP est inférieur d'une manière ou d'une autre, montrez-lui du code PHP que vous croyez efficace. La preuve du pudding est dans l'alimentation.
la source
success of an application has nothing to do with its code
<- Vrai. Mais quand les gens disent que "PHP est un mauvais langage", ils ne signifient pas "les applications écrites en PHP sont mauvaises", elles signifient plutôt que "les applications écrites en PHP ne sont souvent pas amusantes à travailler à cause du code spaghetti". Il y a de grandes applications écrites en PHP, bien sûr. Mais je ne pense pas que cette réponse traite de ce que les programmeurs veulent dire quand ils appellent PHP "mauvais".PHP a une histoire sordide. C'est beaucoup mieux maintenant que c'était il y a encore peu de temps, mais il y a eu un temps, un temps très long, où de nombreuses mauvaises pratiques et schémas étaient encouragés et difficiles à éviter. Il existe toute une génération de terrible code PHP qui est encore en marche, et dans la mesure où les nouveaux programmeurs apprennent en lisant l'ancien code, ils apprennent un mauvais comportement. PHP ne mérite peut-être pas maintenant sa réputation de black-end, mais il l'a certainement gagné.
Votre meilleur pari pour défendre PHP est de prendre une distance prudente et de distinguer l'état actuel de l'art de l'histoire que tout le monde connaît. Vous pouvez dire que PHP n'est pas un langage terrible, mais si vous parlez à quelqu'un qui est dans l'industrie depuis un certain nombre d'années, sa mémoire lui dit le contraire.
Montrez-leur comment l'équipe PHP a appris de leurs erreurs et changé le langage pour le mieux. Fini le temps des citations magiques et des registres mondiaux. Fini le paradigme global-tout, et le mode sans échec, et mysql_escape_string. Expliquez-leur que les vrais programmeurs PHP utilisent toujours des espaces de noms et des requêtes paramétrées, ils évitent les fonctions obsolètes et mettent toujours leur code de bibliothèque en dehors de la racine du document.
PHP a changé et les programmeurs PHP ont changé. C'est pourquoi PHP est la merveilleuse plate-forme qu'elle est aujourd'hui. De plus, c'est la seule plateforme que vous savez que vos clients auront préinstallée. C'est énorme.
En guise de remarque, je recommanderais de ne pas citer les moteurs et les cadres CMS existants comme une grande victoire pour PHP. Vous courez le risque qu'ils signalent des éléments tels que l' étude de sécurité Websense d'il y a 4 jours , montrant que 94% des infections de sites Web récentes étaient dirigées contre des sites Web PHP exécutant des logiciels comme Joomla et Wordpress. Ce n'est pas le genre d'entreprise avec laquelle vous voulez être vu. Au lieu de cela, faites remarquer que votre code sera beaucoup plus sécurisé que tous ces autres éléments.
la source
PHP est le COBOL du web. Les deux langues ne sont pas respectées, mais de nombreuses personnes gagnent leur vie en construisant et en maintenant des systèmes écrits en elles, et elles sont présentes en volume dans presque tous les principaux systèmes informatiques de leur monde natal ( c'est -à- dire , le Web et les entreprises commerciales respectivement). Les deux langues sont méprisées par les praticiens d'autres langues plus populaires, basées en grande partie sur des habitudes anciennes et obsolètes pratiquées par des programmeurs qui ont depuis appris mieux et amélioré leurs outils.
PHP devrait être si chanceux qu'il vit la vie de COBOL. COBOL existe depuis plus longtemps que tout sauf FORTRAN, et il ne disparaîtra pas de si tôt. Il existe de nombreux programmes COBOL dans l'utilisation quotidienne qui sont plus anciens que les personnes qui les maintiennent. Ce n'est peut-être pas «la nouvelle ardeur», mais il y aura toujours de l'argent à gagner en travaillant avec lui.
la source
Je pense qu'il peut également être utile de comprendre l'autre côté de la médaille et de reconnaître les pénuries de PHP. Bien que PHP ait beaucoup progressé en tant que langage de modèle, il y a encore beaucoup de choses qui pourraient être améliorées. Il y a certains points où PHP fait encore défaut: Unicode, les fonctionnalités, l'organisation de la bibliothèque standard,
array
etc.Ce que je suggère, c'est que - afin de faire une discussion constructive sur les forces et les faiblesses de PHP - il pourrait être bon de reconnaître tout cela. "Oui, je sais que la bibliothèque standard PHP n'est pas très organisée. Mais si elle a été écrite aujourd'hui, elle pourrait utiliser des espaces de noms et des API orientées objet". "Oui, je sais que le tableau par défaut gâche un peu en mélangeant les structures de dictionnaire et de tableau. Mais si l'on veut de meilleures collections, on peut utiliser le SPL".
Votre point de vue sera plus fort si vous montrez que vous savez que les arguments des autres ont une raison.
la source
Pourquoi?
Quiconque vous fait sentir que vous devez vous défendre (carrière, conjoint, habitudes de dépenses, etc.) perd son temps. Vous prenez le temps de vous défendre, c'est simplement humourer le mauvais type de personnes - maintenant vous perdez votre propre temps, ainsi que le leur.
Coupez ces gens de votre vie - vous êtes mieux sans eux.
la source
Il n'y a pas de one-liner court et doux que vous pouvez sortir pour convaincre les gens de la valeur de PHP et de ses développeurs, mais vous avez écrit un argument très convaincant juste avant de poser la question.
la source
Afin d'aborder le "PHP est un mauvais langage", vous devez comprendre pourquoi l'individu en question pense que c'est un mauvais langage. Peut-être qu'il a travaillé sur un mauvais projet écrit en PHP. Peut-être qu'il n'aime tout simplement pas préfixer ses variables
$
. Peut-être qu'ils ont eux-mêmes tenté d'utiliser la langue et le désordre écrit incontrôlable. De nombreux programmeurs venant d'autres langages de programmation voient PHP et voient un gâchis, car ce qui a du sens en PHP n'a pas vraiment de sens dans un autre langage ou sur d'autres plates-formes. Par exemple, en PHP, les tableaux sont le "ruban adhésif de l'univers" et sont utilisés pour accomplir à peu près n'importe quoi, alors que dans d'autres langages de programmation, une telle chose serait absurde.Je suggérerais une combinaison des réponses ici.
create_function
. Fini la jungle des appelsinclude
manuels partout.free
, et tout est "OO-ish", mais le temps d'exécution est grand et OO peut être limitant. C ++? Vous permet de créer des types qui se comportent exactement comme des types primitifs (par exemple, int) dans le langage, mais qui s'accompagnent d'une grande complexité. PHP? Il est très facile de commencer sans beaucoup de connaissances en programmation, mais en conséquence, beaucoup de codes poubelles sont publiés sur Internet.Il y a une place pour chaque langue. Choisissez la langue qui convient au problème, n'essayez pas de chausse-pied une langue préférée dans des endroits où elle n'appartient pas.
la source