Récemment, j'ai soudainement découvert que j'avais l'impression d'aller à nouveau à contre-courant de la tendance. Peut-être que je pense différemment de beaucoup de mes amis, mais je pense que PHP, le « bâtard » du monde des langages de programmation, est plus populaire que jamais.
Vous vous demandez peut-être : PHP n'est-il pas déjà terminé ? Il existe déjà de nombreux « meilleurs » langages de programmation, n’est-ce pas ?
La réponse est évidemment non, sinon PHP aurait disparu de la vue des gens et aurait été piétiné de dix mille pieds. Pour trouver la cause profonde, nous devons probablement d’abord comprendre ce que signifie réellement le soi-disant « meilleur » langage.
Si vous ne comprenez toujours pas pourquoi PHP est toujours vivant, nous devrons peut-être commencer par des questions telles que la programmation, les programmeurs, le marché et la vulgarisation technologique. Oui, la vraie raison est ici, pas le code, les fonctions ou la syntaxe.
Il était une fois, gronder PHP représentait une tendance
Si vous voulez choisir une équipe et rester ferme dans le domaine de l'ingénierie de codage d'aujourd'hui, vous devez d'abord gronder tous les langages de programmation concurrents à l'exception du langage désigné par le leader. . Cela n’a rien à voir avec des fonctionnalités, mais reflète directement la culture de l’entreprise. Autrement dit, une telle scène fait souvent penser à une cérémonie d’initiation.
Les programmeurs sont un groupe de personnes têtues, moi y compris. Nous sommes tous arrogants et aimons critiquer toutes les langues que nous n'utilisons pas ou n'aimons pas. Vous avez tous entendu des ingénieurs dire : « Java est nul, et C# est une poubelle et rien. » Peu importe le langage dont vous parlez ici, du moment qu'il fait rire tout le monde.
Mais il y a un mépris plus profond caché derrière cette dénonciation gratuite, qui est particulièrement évidente dans le récent débat PHP contre Python. Aux yeux de nombreux universitaires, cela ressemble à un sanglant changement de dynastie. Il semble que quelqu’un veuille tuer PHP et le remplacer complètement par Python.
Si vous n'y croyez pas, vous pouvez le vérifier sur Wikipédia. Le « P » dans l'entrée de la pile LAMP signifie Python. Fait intéressant, lorsque je suis entré en contact avec LAMP pour la première fois il y a 20 ans, le « P » faisait définitivement référence à PHP – oui, ni à Python ni à Perl. Je ne dis pas que les choses ne peuvent pas évoluer, mais comment Python a-t-il, sans le savoir, remplacé le statut culturel de PHP ? C’est en effet une question qui mérite réflexion.
Pour la plupart des programmeurs, nous apprenons Python à l'école et certains autres langages de niche qui pourraient ne jamais être utilisés dans des scénarios réels. Vous entendrez plus ou moins des professeurs ou d'autres praticiens dire des choses comme "PHP est nul", mais si nous creusons plus profondément, nous découvrirons qu'ils n'ont peut-être jamais sérieusement écrit ne serait-ce qu'une seule ligne de code PHP.
En fait, le simple fait de penser à quelqu'un qui écrit du code PHP à plein temps nous donne des frissons, tout comme voir de nos propres yeux que le diable Satan a vraiment des adeptes fidèles.
Ce mépris pour PHP est en fait assez logique, et a même formé un consensus endogène au sein de la communauté des programmeurs. Ne serait-il pas agréable de s'asseoir avec des amis et de profiter d'un après-midi chez Starbucks tout en parlant de Trump, du pop rock et de PHP ?
Il existe également des puristes de la programmation qui sont prêts à perdre une grande partie de leur temps précieux à expliquer pourquoi PHP est vraiment nul. La plupart des arguments tournent autour d'une tendance ou d'une nuance de conception qu'ils n'aiment pas, et les allers-retours sont une tactique courante dans ce type d'échanges. En ce qui concerne le langage, nous devons juger qui est supérieur et qui est inférieur. Après tout, les gourdes violettes et dorées sont divisées en mâles et femelles.
Il y a certainement de quoi se plaindre : PHP est un langage peu typé, qui engendre souvent du mauvais code. (Mais il en va de même pour JavaScript et Node.js. Pourquoi ne voyez-vous pas autant de ressentiment ?) PHP a trop de fonctions. (Oui, c'est trop pratique et ne montre pas le niveau d'un programmeur.) Les noms de fonctions sont incohérents. (Oui, c'est un problème qui se pose lorsqu'un langage est véritablement démocratisé et n'est pas laissé entre les mains d'un seul docteur en informatique.)
Revenons au fait et voyons que les critiques à l'égard de PHP Les opinions viennent principalement de préférences personnelles ou pointilleux sur les détails. Si nous le voulions, nous pourrions trouver des défauts similaires dans d’autres langages comme Python, C#, Java, Go ou JavaScript. En tant que programmeurs, nous adorons nous plaindre, et nous plaindre nous rend heureux.
Mais la vraie raison pour laquelle les programmeurs aiment dénigrer PHP est à cause de notre arrogance inhérente mélangée à une jalousie croissante.
PHP est en effet plus facile à utiliser
PHP est né au milieu des années 1990 et est encore plus vieux que de nombreux programmeurs géorgiens. J'ai commencé à travailler avec PHP au début des années 2000, alors qu'il passait tout juste de la version 4 à la version 5. Plus tard, j'ai commencé à écrire des applications dans le framework CodeIgniter ZendFramework que j'ai écrit.
À mon avis, la principale raison pour laquelle PHP peut rester persistant et ne montrer aucun signe de vieillissement après de nombreuses années est qu'il est intégré dans les nouvelles et anciennes applications du monde entier, et il est également ancré dans l'esprit des développeurs quel que soit leur âge. . Certaines personnes l'utilisent depuis quelques années, d'autres depuis des décennies, et PHP leur a laissé une profonde impression. Les développeurs ne disparaîtront pas, pas plus que le code métier qu’ils écrivent, donc PHP est toujours là pour rester. Et il est intéressant de noter que Python est né en 1991, avant PHP. Et malgré son cycle de vie plus long, Python n’a jamais pu atteindre les sommets actuels de PHP.
Pourquoi est-ce ?
D'un point de vue personnel, je pense que Python est plus compliqué à utiliser que PHP. Ce problème s'est amélioré dans Python 3, mais depuis 15 ans, Python n'avait pas ces « fonctionnalités sophistiquées » (fonctions) qui sortaient de la boîte en PHP. De nombreuses fonctionnalités doivent être installées manuellement, sinon elles seront inutiles.
Et un autre problème de longue date qui imprègne le langage Python depuis longtemps est la syntaxe des intervalles. Je déteste vraiment cette syntaxe où le nombre d'espaces entre les codes détermine la séparation. J'aime séparer mon code comme bon me semble, et je ne supporte pas du tout que le langage de programmation lui-même doive utiliser son cerveau ici. Tout le monde est libre de critiquer cette habitude, mais c'est mon propre code et écrit par moi. Est-ce mal de vouloir suivre mon propre style ? Si vous n'avez même pas ce droit, je maudirai les trolls bien-pensants qui vérifient les bugs tous les jours.
Python ne cesse de vanter que cette syntaxe espacée est « facile à lire », ce qui est évidemment une connerie marketing. Je vais en rester là - la syntaxe utilisée par Python peut être qualifiée de syntaxe la plus pharisaïque et la pire du monde des langages de programmation.
C'est cette autosatisfaction incompréhensible qui fait souffrir les programmeurs ; au début de la programmation, lorsqu'il n'y avait pas d'IDE pour nous aider à corriger les erreurs grammaticales, peu de programmeurs étaient disposés à se pencher sur Python. De toute façon, je ne veux pas. Pour être plus précis, c’est aussi l’une des principales raisons pour lesquelles le langage Python n’a pas réussi à conquérir une part de marché significative au cours des dix premières années de son existence. Oui, cette conception n’est pas du tout conviviale.
De plus, la présence du langage Python n'est pas forte. Il est intégré à la distribution Linux en tant que langage de script, ce qui constitue son objectif principal. Personne ne applaudira "Ouais, Python est là, nous pouvons l'utiliser pour créer des sites Web !"
Bien sûr, Python peut également être utilisé pour créer des sites Web, mais d'excellents ingénieurs peuvent sentir que ses caractéristiques ne sont pas adaptées aux scénarios de développement Web. Mis à part les préférences personnelles au niveau de la syntaxe, j'admets que Python est un langage extrêmement puissant, particulièrement adapté à la gestion de la science des données ou à d'autres tâches axées sur des opérations mathématiques de haute précision.
Tout le monde peut démarrer avec PHP
Au cours des 15 dernières années, Python a en effet inauguré une mise à jour radicale, il a donc dépassé PHP à plusieurs niveaux. Mais Python a encore deux lourds bagages qui n'ont pas été jetés : premièrement, la plupart des mises à jour apparaissent dix ans trop tard.
Python 3 est sorti en 2008, rompant la rétrocompatibilité. Le code Python 2 ne fonctionnera pas avec Python 3 sans modifications supplémentaires. Mais dans un environnement d’entreprise, il existe souvent des dizaines, voire des millions d’anciennes versions de code. Qui est prêt à se donner cette peine ?
Pour être honnête, PHP 7 et 8 ont également cassé du code PHP 5 (il n'existe pas de version telle que PHP 6). Je faisais partie de la communauté ZendFramework, qui a aidé à mettre à jour le framework pour prendre en charge l'exécution sur PHP 7 et 8 pour le code plus ancien. La bonne nouvelle est que notre ancien code a été à peine affecté lors de la mise à niveau de ZendFramework vers PHP 7 et 8. Par conséquent, la plupart du code PHP 5.6 a une bonne compatibilité ascendante.
Peut-être que l'événement décisif qui a vraiment fait de PHP un arbre à feuilles persistantes dans l'industrie a été la création discrète d'une petite start-up appelée Automattic en 2005.
Si WordPress était écrit en Python, je vous garantis que PHP ne serait pas aussi fier qu'aujourd'hui. Mais j’ose aussi dire que Python entravera, voire tuera, la possibilité que WordPress devienne aussi populaire qu’aujourd’hui.
Pour qu'un langage ou une application continue à survivre sur le marché de l'open source, l'utilisation et l'expansion des contributeurs sont cruciales. Et celui qui est le plus facile à démarrer pourra attirer davantage de soutien de la part des contributeurs de l’industrie.
En tant qu'ingénieur logiciel ayant une formation professionnelle, je peux essayer de comprendre toutes les insultes dirigées contre PHP, mais je tiens à le rappeler à tout le monde - PHP n'est pas seulement utilisé par des ingénieurs diplômés, mais aussi par des travailleurs à temps partiel, des femmes au foyer, Graphistes, chefs d'entreprise, entrepreneurs et même écoliers. C'est vrai, des milliers d'élèves du primaire écrivent des pages Web en PHP sur leurs premiers ordinateurs.
On peut aussi dire que PHP est le langage BASIC à l'ère de l'information.
En tant qu'ingénieurs logiciels, de nombreux critiques se sont habitués à la façon de penser des ingénieurs, mais ils oublient qu'il existe d'innombrables utilisateurs de PHP dans le monde qui souhaitent simplement créer un site Web pour une petite entreprise et disposent d'un temps et de ressources limités.
WordPress et PHP leur sont ouverts. Oui, WordPress lui-même est effectivement facile à utiliser, mais il n’est pas assez complet. Ce qui complète cette lacune est l'architecture du plug-in WordPress (le mot « architecture » n'est peut-être pas exact ici, mais tout le monde peut le comprendre), qui permet aux gens ordinaires d'écrire un petit morceau de code en PHP pour implémenter les modifications correspondantes. Il n’est pas nécessaire de réécrire l’intégralité du cours ni de passer une certification d’ingénieur logiciel. Cela ne nécessite qu’un petit morceau de code.
De cette manière, des millions de programmeurs amateurs se sont lancés dans leur propre chemin de programmation et ont partagé leurs expériences avec d'autres sur Internet, créant finalement une immense communauté technologique PHP.
PHP facile à comprendre permet aux gens ordinaires d'écrire du code efficacement. Il est simple, sans caractère, peu typé, n'implique pas de compilation et peut être considéré comme un travail acharné et sans plainte.
PHP alimente l'ensemble du World Wide Web
Avance rapide, 15 ans plus tard, PHP alimente désormais 78 % des systèmes Web. WordPress représente à lui seul près de 40 % de tous les sites Web et possède près des deux tiers de tous les CMS ! Qui plus est, le « prestigieux » Python ne représente que 10 % du gâteau ! Malgré la haine de PHP parmi les inconditionnels de Python, Python alimente moins de 1,5% du Web.
Es-tu en colère ? Il n'y a pas de quoi être en colère.
Oui, il devrait en être ainsi.
Un recruteur d'une entreprise cliente m'a contacté et m'a exprimé son intention de supprimer tout le code Web Python et de le remplacer par PHP. Cela semble incroyable, mais cela arrive tout le temps. Pourquoi? Car il y a un dicton selon lequel Python n’est pas très adapté aux applications web. Les développeurs familiers avec Python sont souvent des experts en science des données et dans d’autres domaines, et les talents expérimentés sont très demandés. Il est tout à fait inutile de les laisser se lancer dans le développement Web.
Les entreprises souhaitent être plus flexibles sur le Web. Lorsqu’ils ont besoin d’agrandir ou de réduire la taille de leur équipe, ils ne veulent pas passer des semaines ou des mois à chercher lentement des talents familiers avec Python. Ce type d’ingénieur coûte très cher et les entreprises ne peuvent pas se le permettre.
Cependant, les programmeurs PHP qui s'adaptent à différentes tailles d'entreprise ont une qualité et une quantité élevées sur le marché du travail, et peuvent même être formés rapidement si nécessaire. Plus important encore, même si vous souhaitez trouver un architecte PHP senior expérimenté avec des décennies d'expérience, c'est beaucoup moins difficile que de trouver quelqu'un du même niveau dans le domaine Python.
Et la direction de l'entreprise apprendra également aux fans de Python comment se comporter. Voulez-vous écrire du Web ou du middleware en Python sans raison précise ? Les gens n’ont tout simplement pas beaucoup de budget et nécessitent à tout moment un remplacement facile par d’autres outils. Ce sont des choses pour lesquelles Python n’est pas doué.
Pour devenir un architecte d'applications qualifié, la première chose est d'apprendre à utiliser la technologie la plus efficace pour fournir un support « à l'échelle appropriée » à l'entreprise ou à l'entreprise : nos préférences personnelles ne sont pas importantes, la technologie est à la mode, le plus important C'est plus, plus rapide, meilleur et plus économique.
J'ai donc découvert qu'il existe en fait très peu d'applications SaaS adaptées à l'écriture entièrement en Python. Compte tenu de la part de marché pitoyable de Python sur le Web, il semble que la plupart des architectes d'applications partagent mon avis. Ils utilisent Python uniquement là où cela convient le mieux, et PHP là où cela convient le mieux.
Résumé
En tant qu'ingénieurs, nous aimons tous utiliser des choses qui nous sont familières, et nous avons également l'habitude de minimiser les choses que nous ne comprenons pas. N'ayez pas peur de l'admettre, nous, les programmeurs, avons ce problème.
Les universités ont tenté de positionner Python comme un langage commercial à usage général, mais ce n'est pas le cas. Python est mieux adapté en tant que langage haut de gamme, spécialisé dans l'exécution de serveurs, la science des données, la gestion de données complexes à grande échelle ou même la gestion du minage de crypto-monnaie. Ce sont ses spécialités.
Et PHP est un langage populaire et est devenu un standard objectif sur le World Wide Web.
Donc si vous le souhaitez, vous pouvez continuer à dénigrer PHP, ce n'est pas grave. Mais en fin de compte, c'est toujours le langage le plus utilisé sur le Web, et à mesure que WordPress continue de croître et que PHP 7 et 8 continuent d'être mis à niveau, ce leadership ne sera pas ébranlé de si tôt.
À propos de l'auteur :
Beau Beauchamp est un architecte d'applications Web full-stack UI/UX de niveau entreprise et un développeur senior avec plus de 20 ans d'expérience dans le développement d'applications évolutives.
Lien original :
https://beau-beauchamp.medium.com/php-is-killing-python-2be459364284