David Hockley

PHP vs NodeJS vs Python vs Ruby - Que disent les Statistiques ?

Bonjour à tous! Aujourd’hui nous allons parler d’un sujet que j’aime beaucoup : les différents languages de programmation.

Et notamment les languages script côté serveur ! Lequel choisir ? Lequel mérite qu’on y investisse du temps et de l’énergie ?

Quel language choisir pour faire du développement backend, entre PHP, Python, NodeJS et Ruby ? Quel language apprendre ? J’adore apprendre des nouvelles technos, donc si je pouvais je dirais de les apprendre tous.

Mais la vie est courte, et le temps est précieux.

Et en réalité ces quatre languages ont chacun des forces et des faiblesses différentes, des cas d’usage spécifiques.

On va les examiner ensemble, et à la fin, j’espère vous avoir aidé à faire votre choix.

Et juste un petit détail, avant d’aller plus loin : je me suis volontairement limité au languages de script, pour ne pas faire une vidéo trop longue et pour rester sur un sujet que je connais bien.

C’est pour ça que je ne regarde pas ASP.NET ou Java.

Voyons donc qui sont les forces en présence.

L’histoire du Python, de Ruby, de NodeJS et di PHP

Le Python a été crée en 1991 (et la version 3 en 2008) Nous avons ensuite le PHP qui a été crée en 1994.

Ruby a été crée en 1995

Pour finir, NodeJS a été crée en 2009 mais le language étend le JavaScript qui a été crée en 1995.

Examinons donc ensemble ces différents languages, selon différents axes.

Et je vais à chaque fois, répartir un total de 10 points par critère, sur les différents languages.

Pour cela je vais me reposer sur différentes sources d’information, deux en particulier.

Tout d’abord, le sondage du site Stack Overflow, qui interroge régulièrement les développeurs sur les languages qu’ils utilisent, et sur ceux qu’ils apprécient.

ET également le site w3tech, qui mesure les taux l’usage de différentes technologies au niveau des serveurs.

L’usage dans le monde réel

Pourquoi est-ce intéressant de regarder ce chiffre ?

Et bien ça montre une sorte de popularité dans le monde réel. Le chiffre donne en quelque sorte un indicateur des occasions de trouver un travail. Et donc, en termes de taux d’usage des différents languages, sur les serveurs où le language est connu :

Le Python représente 1.3% de taux d’usage.

Puis vient NodeJS qui représente 1.9%

Ensuite nous avons Ruby qui représente plus de 6%.

Et pour finir nous avons le PHP qui représente la bagatelle de 78% de taux d’usage. Le PHP est le socle sur lesquels sont construits Wikipedia, et Facebook et bien sur l’éternel Wordpress. Bon, Wordpress à lui tout seul représente près de 40% des sites - du moins ceux dont la technologie est connue.

Il ne reste donc “que 38%” de sites en PHP hors Wordpress, ce qui représente encore un facteur 6 par rapport au poursuivant le plus proche, Ruby.

Et donc avec près de 80% de taux d’usage en PHP et 6% pour Ruby, je donne 8 points for le PHP, et 1 point pour Ruby, et 0 pour ceux qui sont à 1%.

La popularité des languages

A présent penchons nous sur le sondage des développeurs StackOverflow sur 2021.

On va commencer par se penchez sur deux questions que pose ce sondage.

La première question c’est : Ce language… Est-ce que vous l’aimez, ou est-ce que vous le détestez?

Cette question est intéressante parce qu’elle traduit la satisfaction et la frustration des développeurs.

C’est donc un bon indicateur de ce qu’on appelle le “DX” ou “developper experience”.

Mais c’est aussi un indicateur de la cohérence du language et du niveau de communauté.

La deuxième question c’est : est-ce que vous voulez travailler dans ce language ?

Ca traduit donc l’attractivité d’un language.

Pour chaque language on va regarder le taux de gens qui aiment, moins de taux de gens qui aiment pas, et ça va nous donner un score de satisfaction net.

Puis on va rajouter le taux d’attractivité.

Alors. Qu’est-ce que ça donne pour les différents languages ?

Concernant le PHP, 40% des développeurs disent l’aimer, alors que 60% disent de pas l’aimer.

Ce qui nous fait un score net de -20 points de pourcentage.

Et seulement 2.5 % des développeurs désirent travailler dans ce language, donc ça nous fait un total de -17.5 pour le PHP

Pour le Ruby, en suite, la situation est… un peu moins sombre.

On est juste au dessus de l’équilibre : 53% aiment, 47% détestent soit un score net de +6 points de pourcentage.

Et l’attractivité du Ruby est à peine plus haute que celle du PHP, à 2.6%.

Ca nous fait un total de 6 plus deux et demie, 8 et demie.

Vient ensuite NodeJS, avec 63% d’avis positifs contre 37% d’avis négatifs, soit un score de satisfaction net de +26.

Et l’attractivité de NodeJS est à 12%, donc on a un total de (26 + 12) 38.

(Ah… Petite parenthèse au passage:

Pour votre information, le Typescript - qui peut-être utilisé avec NodeJS - a 73% d’avis positifs, un score net de 46 et une attractivité de 15%.

Il aurait donc ici un total de 61.

Je ne vais pas ici le prendre en compte dans le total de NodeJS, mais ça mérite d’être mentionné)

Pour finir, le Python a 68% d’avis positifs contre 32% d’avis négatifs.

Soit un score de satisfaction net de +36

En prenant en compte l’attractivité de 19%, ça lui fait un score total de 55.

Relativement au -17 et quelques du PHP , le Ruby a 26 points de plus, NodeJS a 56 points de plus et le Python a 73 points de plus.

Si j’additionne tout ça et que je divise chaque score par le total global, ça nous donne des pourcentage dont la somme fait 100, et on utilise ça pour attribuer les points.

Tout ça nous donne donc :

0 points pour le PHP 1 point pour le Ruby, 4 points pour NodeJS et 5 points au Python.

En termes de score cumulés nous avons pour le moment, à la dernière place

Le Ruby, avec 2 points au total.

Puis NodeJS avec 4 points,

Enfin le Python avec 5 points

Et pour finir le PHP avec 8 points.

Les salaires

Parlons a présent d’argent et donc de salaire.

Plus exactement de salaire médian.

Stack Overflow a demandé aux différents développeurs, partout dans le monde, quel était leur salaire annuel, et sur quelles technologies ils travaillent.

Alors évidemment, la situation globale ne se traduit pas forcément dans chaque pays. Mais ça nous donne une indication.

Et sur l’ensemble des personnes qui travaillent sur une technologie, ils ont repéré le salaire qui avait autant de gens avec un salaire supérieur, que de gens avec un salaire inférieur.

Ce qui nous donne donc le salaire médian pour cette techno.

Il faut savoir que la médiane est souvent un meilleur indicateur que la moyenne, surtout quand la répartition est inéquitable.

Et quand on parle de salaire, les choses sont rarement uniformes.

Regardons donc ces salaires médians.

Pour le PHP, ce salaire annuel médian est de 39 mille dollars, soit 35 mille euros.

Pour NodeJS, ensuite, ce salaire médian est de 55 mille dollars, soit 50 mille euros.

Vient ensuite le Python, pour qui le salaire médian est de 59 mille dollars ou 53 mille euros.

Et enfin le Ruby est en tête avec 80 mille dollars ou 72 mille euros.

Faisons un calcul similaire à la question précédente. On calcule le différentiel de ces montants avec le plus faible d’entre eux (donc en gros on fait la différence avec le PHP).

En suite on rapporte chaque différentiel à un pourcentage, et ça nous donne pour ce round :

En dernière position, le PHP avec 0 points. En deuxième position, NodeJS avec 2 points. En troisième position, le Python avec 3 points. Et en tête le Ruby, avec 5 points.

En termes de scores cumulés nous donc avons à présent :

NodeJS en dernière place avec 6 points. Le Ruby en deuxième place avec 7 points Et le PHP et le Python à égalité avec 8 points.

Comme vous le voyez, les scores sont serrés, mais pour des raisons très différentes.

Quel language choisir ?

Qu’est-ce qui pourrait justifier le fait de choisir l’un sur l’autre ?

ET là intervient une autre nuance qui mérite d’être mentionnée.

En termes de structure, le PHP et le JavaScript sont tous les deux des languages qui s’inspirent du C.

Par exemple les blocs de code sont définis par des accolades.

A l’inverse le Python et le Ruby sont (relativement parlant) plus proches l’un de l’autre, en tout cas visuellement, avec des blocs définis par la commande “def”.

Même si l’indentation a une importance syntaxique en Python qu’elle n’a pas en Ruby.

A présent : Qu’est-ce qui pourrait faire pencher la balance d’un côté ou de l’autre, entre tel language ou tel autre?

Et bien c’est ici que le côté objectif des chiffres trouve sa limite.

En réalité tout dépend de ce que vous voulez faire plus globalement, de vos ambitions et et de votre aversion au risque.

Je m’explique.

Prenons le cas du Python. En réalité, même si ça n’a pas été isolé dans le sondage de stack overflow, un des cas d’usages majeurs du Python c’est la Data et le Machine Learning.

Ce sont certes des sujets qui offrent des opportunités et des salaires intéressants, mais ils demandent aussi une certaine appétence pour les maths.

Mais par contre en termes de language server pur, ça reste un cas d’usage marginal, par rapport au trois autres languages.

A l’inverse, si vous savez que vous voulez évoluer dans le backend, et que ça vous inquiète de pouvoir trouver de travail, ça parait difficile de passer à côté du PHP.

Ce n’est certes pas une solution excitante aujourd’hui, mais c’est fiable et solide.

ET si vous voulez trouver facilement de quoi travailler en freelance, ça vaut le coup de comprendre comment marche Wordpress.

Par contre, il faut savoir c’est un languages ou le salaire médian est le plus bas.

A l’inverse, il y a nettement moins d’opportunités en Ruby, mais il y a aussi nettement moins de développeurs compétents également.

Ca signifie que les salaires sont plus élevés en Ruby. Donc c’est pour ça que je disais un peu plus tôt que tout dépend de votre aversion au risque.

Si vous voulez l’assurance de l’emploi, vaut mieux viser le PHP, si vous ne craignez pas le risque, mais que vous voulez un salaire plus élevé, le Ruby peut être une bonne voie.

Et pour finir nous avons le NodeJS. Ici la situation est un peu particulière, puisque fondamentalement, le NodeJS, en termes de language de programmation, c’est une variante du JavaScript.

Et comme le montre le sondage StackOverflow, près de 70% de développeurs utilisent le JavaScript.

Ca signifie c’est essentiel de connaitre le JavaScript, et idéalement le TypeScript si vous voulez être compétitif sur le marché du travail.

Au passage, c’est précisément pour ça que je suis en train de travailler sur la création de cours en ligne sur le JavaScript et le TypeScript.

Si ça vous intéresse je vous ai mis plus de détails dans la description.

Ma recommendation, donc, c’est d’apprendre déjà le JavaScript et le TypeScript, et un deuxième language en fonction de ce que vous souhaitez faire ou de le sécurité que vous voulez avoir.

Le Python si la Data Science (et les maths) vous intéressent aussi.

Le Ruby si vous n’avez pas peur du risque et que vous voulez tenter de décrocher un boulot qui paie plus

Et le PHP si vous voulez une solution sure, presque une solution de facilité si vous parlez déjà le JavaScript, mais pas forcément une solution très excitante.

Social
Made by kodaps · All rights reserved.
© 2023