5 raisons d'apprendre Python en 2023

Tu te demandes quel langage de programmation apprendre en 2023 et pourquoi Python est un bon choix ? Dans cet article, on regarde 5 raisons qui prouvent l'intérêt de Python.

Publié le par Thibault Houdon (mis à jour le )
paceTemps de lecture estimé : 20 minutes

Python est devenu en quelques années le langage à la mode que tout le monde se met à apprendre. Il a même été choisi par le gouvernement français pour être enseigné au lycée depuis la rentrée 2019.

Dans cet article je te parle des 5 raisons principales pour lesquelles tu devrais apprendre Python :

  1. Sa popularité croissante
  2. Sa facilité d'apprentissage
  3. Son utilisation dans de nombreux domaines
  4. La demande forte et les salaires qui vont avec
  5. Sa communauté

Avant de se lancer tête baissé dans l'apprentissage d'un langage de programmation, qui demande souvent beaucoup de travail et de discipline, il est bon de s'interroger sur les raisons qui font que Python gagne chaque année en popularité (ce qui surprend même son créateur) et si cela en fait une raison valable pour l'apprendre.

Une popularité croissante

Tous les chiffres et enquêtes sont unanimes sur ce point : Python gagne en popularité d'années en années.

Python est désormais le langage le plus populaire devant C, Java et JavaScript selon TIOBE, un institut qui se base sur de nombreux facteurs (nombre de recherches, nombre de formations en ligne, nombre d'ingénieurs qualifiés...).

Si on regarde l'évolution de la popularité des différents langages de programmation sur le long terme, on se rend compte des bonds de géant que fait Python qui passe de la 12e place dans les années 2000 à la 1ère place aujourd'hui.

Mais la popularité ne suffit pas à justifier l'intérêt d'un langage de programmation, tout comme un chanteur populaire ne fait pas forcément les meilleures chansons.

Vous vous en doutez, Python ne s'est pas issé à cette place sans raison, sa popularité est notamment due à...

Sa facilité d'apprentissage

Python est un des langages les plus facile d'approche grâce à sa syntaxe épurée et le fait que ce soit un langage de haut niveau.

Pas besoin de vous montrer du code très complexe pour que vous puissiez vous rendre compte de l'attrait de la syntaxe de Python.

Voici le classique Hello World dans 4 languages populaires que sont Java, C#, Javascript et Python.

Java

class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello, World!");
        }
 }

C

using System;
namespace HelloWorld
{
    class Hello 
    {
        static void Main() 
        {
            Console.WriteLine("Hello, World!");
        }
    }
}

Javascript

console.log("Hello, World!");

Python

print("Hello, World!")

Pas besoin de beaucoup plus d'explications.

Bien sûr une ligne de code en Python n'est pas toujours équivalente à 5 lignes en C#.

Beaucoup du code ci-dessus en C# ne sert qu'à initialiser un certain nombre de choses.

Mais Python gagne quand même haut la main en terme d'épuration.

Même un langage avec une syntaxe assez légère comme le Javascript a besoin d'un point-virgule à la fin de chaque ligne (ce n'est maintenant plus obligatoire mais tout de même conseillé).

On remarque également que Python a l'avantage d'être très litéral.

Bien sûr, comme tout langage de programmation, la langue de référence reste l'anglais, mais pour afficher du texte à l'écran, la simple fonction print (qui signifie 'imprimer' en anglais) suffit.

Pas besoin de retenir des fonctions complexes comme System.out.println en Java ou Console.WriteLine en C#.

Un langage utilisé dans de nombreux domaines

Analyse de données, développement web, administration réseau, machine learning, deep learning et même les effets visuels (je vous en parle ici), on peut dire que Python couvre de nombreux domaines qui ont le vent en poupe ! Si Python est aussi populaire c'est donc bien parce que les domaines dans lesquels il excelle sont en demande. Et qui dit domaine en demande, dit salaires attrayant (j'en reparle plus bas, un peu de patience).

Et si Python est utilisé dans autant de domaines, c'est notamment grâce à son nombre incroyable de librairies.

Numpy, Panda, Django, PySide, TensorFlow, PyGame, nombre de librairies gratuites vous permettent de faire du traitement de donnée, concevoir des applications web, créer des interfaces graphiques ou même créer votre premier jeu vidéo.

Vous n'avez donc pas à chaque fois à réinventer la roue et vous pouvez vous baser sur le travail d'autres personnes pour vous faciliter la tâche et commencer directement un projet avec l'aide de librairies tierces.

Python est donc un langage plébiscité dans de nombreux domaines et ce n'est pas près de changer.

Récemment, lors de son discours à l'International Solid-State Circuits Conference de 2019, Yan LeCun, un chercheur français considéré comme l'inventeur du 'Deep Learning', a déclaré qu'il faudrait inventer un nouveau langage de programmation spécialement dédié à ce domaine.

Là où ça devient intéressant, c'est qu'il n'est pas certain que la communauté suive, tellement Python est plébiscité :

« Il existe plusieurs projets chez Google, Facebook et d'autres boîtes pour concevoir un tel langage compilé qui peut être efficace pour un apprentissage approfondi, mais il n'est pas du tout clair que la communauté va suivre, car les gens veulent simplement utiliser Python. »

Yann LeCun

Je finirai cette partie avec une petite note sur les systèmes embarqués, tels que les Arduino ou les Raspberry Pi. Là encore c'est un domaine en explosion, avec de plus en plus de ces petits systèmes qui font leur entrée dans nos foyers et pour lesquels Python nous offre un langage interprété et donc rapide à mettre en place et à tester (pas besoin de compiler le code à chaque fois, debug à la volée et j'en passe...).

Une demande forte et des salaires élevés

Python est un langage de plus en plus en demande. Là encore, on voit les effets de l'explosion du machine learning et deep learning ainsi que tout ce qui touche au big data, qui recrutent à tour de bras et manquent de candidats pour remplir les places disponibles.

Bien sûr, apprendre Python ne fera pas de vous un Data-Scientist et ne vous ouvrira pas les portes du pôle AI de Facebook, de nombreuses autres compétences sont nécessaires, mais c'est un minimum.

Si l'on s'intéresse à d'autres données, cette fois-ci de L’Institute of Electrical and Electronics Engineers (IEEE, la plus grande association mondiale de professionnels techniques), on se rend compte que Python est en bonne position en ce qui concerne les offres d'emploi :

Là encore, Python est sur le podium (seulement devancé par les mastodontes que sont Java et C ; données provenant du marché américain).

Niveau salaire, pas de quoi s'inquiéter non plus. Difficile d'avoir des nombres arrêtés, beaucoup de statistiques ont été réalisées mais il est difficile de s'y retrouver entre les différences géographiques, le coût de la vie et autres facteurs (un même salaire de 50,000 euros à Lyon et à San Francisco ne vous offrira pas la même qualité de vie).

Mais soyez rassuré, un développeur, peu importe le langage qu'il maîtrise, est rarement sous payé. Un développeur Python junior peut espérer une rémunération comprise entre 30,000 à 50,000€ par an selon le domaine et la ville dans lequel il officie.

Si vous êtes prêt à vous expatrier et que vous aimez avoir comme dirigeant un milliardaire à perruque un peu fou, les salaires aux États-Unis sont encore plus attractifs, dépassant souvent les 100,000$.

Pour ne pas juste parler dans le vent et vous donner un cas concret, le mien, j'ai commencé ma carrière dans les effets visuels en tant qu'artiste généraliste à 45,000$ CAD (environ 30,000€) par an.

En passant du côté technique et en utilisant Python tous les jours pour les pipeline de VFX, ma rémunération a grimpé en moins d'une année à 60,000$, avec des offres allant jusqu'à 80,000$. Nombre de mes amis développeurs dans le domaine des effets visuels gagnent plus de 100,000$ par an avec (environ 5 à 7 ans d'expérience). Les perles rares peuvent monter à 130-150,000$ et si vous êtes prêt à travailler pour des banques ou autres secteur attractifs financièrement, vous pourrez passer encore d'autres paliers. Bref, vous ne serez pas à la rue.

Une communauté importante

Si l'on se fie cette fois-ci aux statistique de StackOverflow, un site web parmi les plus populaires pour poser des questions sur de nombreux langages de programmation, on voit que Python est également haut dans le classement :

Vous me direz que Python n'est qu'en 7e position, ce à quoi je vous répondrai avec les deux graphiques suivants qui montrent l'évolution du nombre de questions posées sur Python au cours des dernières années, ainsi qu'une prévision pour les années à venir :

Python est là encore en forte croissance, avec des prévisions qui le placent loin devant les autres d'ici à 2020.

Étant Open Source, le code est disponible pour tout le monde, ce qui lui assure de nombreux bug fix par la communauté et font de Python un langage stable.

Mais le plus important reste qu'avec une communauté si large, vous trouverez presque toujours la réponse à vos questions, et ça, quand on apprend un nouveau langage, c'est primordial.

Même sur des librairies un peu moins utilisées comme PySide, je trouve toujours la réponse à mes questions en tapant quelques mots sur Google (ou Qwant, si vous préférez).

Des forces... et quelques faiblesses ?

Je ne pourrais pas faire un article complet et honnête à propos de Python sans une petite partie sur ses faiblesses. Car si Python est indéniablement un langage en vogue et que l'apprendre vous fera probablement plus de bien que de mal, il faut reconnaître qu'il y a certains domaines dans lesquels Python n'est pas roi.

Le développement mobile

Le premier point sur lequel Python pêche, c'est le développement sur mobile. Il existe quelques librairies pour développer des applications avec interfaces graphiques pour Android ou iOS mais on ne se le cachera pas, vous risquez d'être déçu.

En plus d'être peu maintenues, ces librairies ne sont pas optimales et vous avez probablement meilleur temps d'apprendre un langage comme Java ou Swift pour créer des applications mobiles.

Les performances

L'autre point souvent reproché à Python est sa relative lenteur par rapport à des langages compilés comme le C++. Personnellement, je n'ai jamais souffert de problèmes de lenteur avec Python, mais cela dépend vraiment du domaine dans lequel vous opérez. Cela n'empêche pas Python d'exceller dans des domaines comme le Big Data qui nécessitent le traitement de millions de données.

Beaucoup vous diront que le temps gagné en développant avec Python par rapport à un langage compilé vous fera de toute façon rentrer dans votre budget. Il est en effet souvent moins coûteux de faire travailler les machines que le développeur derrière le code.