JS VS PHP, le combat de code !

2021-11-30
JS-VS-PHP-le-combat-de-code
Mesdames et messieurs, accueillons sous vos applaudissements… JS et PHP !
Deux langages de programmation web aux grandes communautés s’opposent aujourd’hui, pour l’amour du code. 

🏃 PHP entre sur le ring :

Dans la catégorie poids lourds, une technologie web présente depuis de nombreuses années s’avance sur le ring. Un paquet de victoires à son actif, il s’apprête aujourd’hui à broyer du script pour votre plus grand plaisir ! Il sait ce qu’il fait et le fait bien, on vous présente : le langage PHP ! 

🏃 JS entre sur le ring :

Combattant plus récent, on dit de lui qu’il est agile ou encore qu’il peut faire tout et aime varier les coups. Dans le vestiaire, il nous a confié qu’il s’apprêtait à “renvoyer PHP au cimetière des éléphants”. Faites un tonnerre d’applaudissements pour : le langage JavaScript !

JS VS PHP
“Que le match commence ! ”

🥊  Round 1 : Le combat de la simplicité d’utilisation.

O’clock déclare l’ouverture du match avec un affrontement plus tendu qu’un tanga XS sur le fessier d’un boxeur poids lourd !

Certains diront avec une certitude à toute épreuve que PHP est plus simple à utiliser pour débuter et que ce premier round n’a même pas lieu d’être. D’autres affirmeront que c’est JS.

On invite l’un de nos formateurs à monter sur le ring pour les départager :

Je dirais que PHP peut être plus simple au premier abord, il est rarement utilisé en asynchrone, contrairement à JS où c’est très fréquent, mais c’est léger comme différence et c’est assez personnel comme ressenti. Chacun ne rencontre pas les mêmes difficultés en commençant à développer.

Luko

Les lignes de codes en PHP sont toutes exécutées les unes après les autres, on est donc sur un modèle d’exécution simple : la requête arrive, elle est calculée, renvoyée et ensuite, elle s’arrête, elle meurt. Alors que pour JS, qui contient de nombreuses méthodes asynchrones par défaut, le code qui aura été défini dans les premières lignes pourra se retrouver exécuté après d’autres lignes plus bas. Ce qui peut vite faire des spaghettis dans le code, et dans le cerveau, lorsqu’on débute. Apprendre le JavaScript peut donc s’avérer être légèrement plus difficile quand on veut devenir programmeur.

Les deux langages permettent d’utiliser la programmation orienté objet, mais la version PHP peut sembler plus simple quand on débute, car elle ressemble à d’autres langages comme Java ou encore C#, alors que JavaScript est plus atypique.

🏆  Résultat après délibération sur la simplicité d’utilisation :

Pour ce premier Round, on a un léger avantage du côté de PHP, mais ça reste assez subjectif.

PHP : 1️⃣ – JS :0️⃣

🥊  Round 2 : le combat de l’Écosystème et de l’Accessibilité de l’information.

 

PHP arrive avec un bel avantage : son gestionnaire de paquet, Composer ! Un gestionnaire de paquet, ça simplifie le développement d’applications et ça permet aussi et surtout de télécharger et d’utiliser des codes en open source (déjà tout faits) d’autres développeurs, en toute simplicité.

Mais JS n’a pas dit son dernier mot et le contre directement en sortant son gestionnaire de paquet NPM.

Et soudain… framework php ! Un joli coup bien envoyé à JS, puisqu’on a tendance à les trouver plus complets, et avec un meilleur accompagnement du côté de PHP. Alors que ceux de JavaScript vont laisser beaucoup plus de choix au développeur dans son architecture, et donc plus de possibilités de faire le mauvais, quand on débute.

PHP enchaîne directement en sortant de sa poche un nombre incroyable de ressources en français ! Pas mal pour apprendre à coder quand on n’a pas spécialement envie de se la jouer Google Traduction, quand même …

Comment ça se fait qu’il y ait autant de ressources en français pour PHP ?

Une personne dans le public.

Bonne question ! Symfony est un framework écrit dans mon langage, et il est made in France. Du coup, des tutos en français, il y en a à la pelle !

PHP.  

Et des tutos qui datent de 2001, il y en a à la pelle aussi…  De quoi trouver des solutions obsolètes avec une sécurité qui laisse à désirer. De mon côté, tout est récent, il n’y a pas ce risque-là !

JS.

Oui, mais toi, tu es tellement récent et tu bouges tellement souvent qu’une info sur toi d’il n’y a même pas six mois ne sera déjà plus bonne…

PHP 

OH ! Des langages de programmation qui parlent !

Toi qui as décidé de lire l’article en diagonale.

🏆  Résultats après délibération sur l’Écosystème et de l’Accessibilité de l’information :

On est sur un bel ex æquo ! Les styles sont différents. Tout à fait Thierry, tout à fait ! PHP est sage et en place, alors que JS est ultra dynamique, il faut encore plus se tenir à jour pour ne pas être dépassé quand on veut apprendre le JavaScript.

PHP : 1️⃣ – JS : 1️⃣

🥊  Round 3 : Le combat des cas d’usage.

PHP s’élance en mettant en avant sa capacité à réaliser des applications web !

JS le contre directement, en faisant exactement la même chose et en y ajoutant sa capacité à créer des applications de tout type, là où PHP est limité au web.

PHP revient en mode monolithique ! Ça veut dire que PHP peut être utilisé comme unique base de code et qu’on peut donc gérer à la fois le back-end et le front-end pour faire fonctionner un site ou une application web. Mais pour le front-end, il faudra nécessairement le réaliser en HTML, CSS (langages utilisés notamment par tous les intégrateurs web) et/ou JS. Le navigateur ne peut utiliser que ces langages.

JS aurait pu lui aussi arriver en “mode monolithique”, mais il préfère attaquer avec un back-end et un front-end séparés. Une partie NodeJS est là pour gérer l’API. C’est-à-dire ? Une partie va s’occuper de récupérer la donnée dans la base de données, gérer la connexion de l’utilisateur, la sécurité… (ce que l’on ne voit pas), le tout séparé du code qui gère l’interface client (ce que l’on voit).

On a donc d’un côté le monolithique, avec WordPress dans ses rangs, le numéro 1 des CMS, rien que ça ! Et de l’autre côté, l’architecture back/front séparée qui a quand même le vent très en poupe en ce moment !

On se retrouve pour les résultats, après une courte page de PUB !

PUB O'clock
“Vous voulez devenir développeur web ? Vous êtes au bon endroit ! Formez-vous chez nous, depuis chez vous !”

🏆  Résultats après délibérations sur les cas d’usage :

On a un léger avantage pour JS ici. Même si PHP peut quasiment tout faire et a de son côté d’anciennes grosses bases de codes en back-end, JS, lui, peut aller sur plus de terrains en se détachant du web !

PHP : 0️⃣ – JS : 1️⃣

🥊  Round 4 : le combat des opportunités.

PHP est très présent sur le marché français, même si l’on pourrait avoir l’impression que ce n’est pas le cas quand on écoute tous ceux qui aiment le détester. O’clock a même fait un article là-dessus : Est-ce que PHP est encore utile ? On conseille d’ailleurs à tous les spectateurs d’aller le regarder à la fin du match ! Comme on l’a dit plus haut, il y a énormément de ressources en français grâce à Symfony, et donc beaucoup d’emplois à pourvoir en France ! Son évolution depuis PHP7 fait de lui un langage moderne très demandé. Il n’y a qu’à faire un test assez simple, tapez : “Développeur PHP en France” sur indeed.com. On l’a fait, juste pour avoir une petite idée, et c’est pas moins de 17129 nouvelles offres d’emplois qui nous ont été proposées.

JS, quant à lui, c’est Le langage du moment : il entame sa 9e année consécutive en tant que langage de programmation le plus utilisé ! Le gros avantage de JS, c’est le côté front-end. D’ailleurs, on voit même JS dans notre formation PHP pour la partie front. Allez, on se refait le test indeed. Ici, en tapant “développeur JS en France” c’est 3749 nouvelles offres d’emploi qui sont apparues.

🏆  Résultats après délibération sur les opportunités :

Le point va donc à PHP ! Mais on tient impérativement à rappeler à tous nos spectateurs qu’ici, on ne prétend pas avancer une preuve absolue. On vous montre simplement une donnée actuelle, qui peut évoluer à tout moment. Mais ce qui est certain en tout cas, c’est qu’aujourd’hui, peu importe le langage que vous choisirez de supporter, un bel avenir se dessine pour vous, et pour le dev !

PHP : 1️⃣ – JS : 0️⃣