Pour cette rentrée 2019, faisons le point sur Python : actualité, bonnes pratiques Python, astuces, projets intéressants, témoignages…

Cette première partie présente la popularité de Python, chiffres à l’appui. Mais qu’est ce qui explique qu’un vieux langage de vingt‐cinq ans, lent et dont l’indentation influence la compilation, puisse être aussi populaire ?

Sommaire

Licence

Cette dépêche est publiée sous licence CC0 (sous domaine public dans les pays où cela est possible) pour te permettre de recopier, modifier, réutiliser et republier ce contenu sans t’obliger à citer ses auteurs (sauf que la loi de certains pays comme la France t’oblige quand même à citer les auteurs).

Actualité

Bientôt la PyConFR, du 31 octobre au 3 novembre à Bordeaux, lire la dépêche.

Popularité du langage Python

StackOverflow

En 2017, David Robinson, un data scientist travaillant pour StackOverflow, a publié un article intitulé The Incredible Growth of Python dans lequel, en se basant sur le trafic Web de StackOverflow, il réalise une projection du trafic dans les prochaines années. Pour sa projection, David prend en compte les pays à forts revenus, car ce sont souvent les premiers à adopter les nouvelles technologies.

L’année suivante (2018), le trafic Web relatif aux questions Python représente une part de plus en plus importante.

Chaque année, StackOverflow réalise un sondage publié sous le nom Developer Survey Results.

Je n’ai pas pris en compte HTML et CSS car ils ne figurent pas dans les anciens sondages.

Le langage le plus utilisé ?

2013 2014 2015 2016 2017 2018 2019 1. SQL JavaScript JavaScript JavaScript JavaScript JavaScript JavaScript 2. JavaScript SQL SQL SQL SQL SQL SQL 3. C# Java Java Java Java Java Python 4. Java C# C# C# C# Shell Java 5. PHP PHP PHP PHP Python Python Shell 6. C++ Python Python Python PHP C# C# 7. C C++ C++ C++ C++ PHP PHP 8. Python C C AngularJS C C++ C++ 9. ObjectiveC ObjectiveC Node.js Node.js TypeScript C TypeScript 10. Ruby Ruby AngularJS C Ruby TypeScript C 11. Node.js Node.js Ruby Ruby Swift Ruby Ruby

Et la question, certainement la plus intéressante pour sentir le désir des développeurs, concerne les langages (au sens large) les plus aimés, les plus redoutés et les plus désirés.

Le plus aimé ?

2015 2016 2017 2018 2019 1. Swift Rust Rust Rust Rust 2. C++11 Swift Smalltalk Kotlin Python 3. Rust F# TypeScript Python TypeScript 4. Go Scala Swift TypeScript Kotlin 5. Clojure Go Go Go WebAsembly 6. Scala Clojure Python Swift Swift 7. F# React Elixir JavaScript Clojure 8. Haskell Haskell C# C# Elixir 9. C# Python Scala F# Go 10. Python C# Clojure Clojure C#

D’après les résultats de l’étude StackOverflow, Python est le premier langage de programmation qui est à la fois très utilisé et très aimé. C’est aussi le langage le plus désiré.

Le plus désiré ?

2015 2016 2017 2018 2019 1. Android Android Python Python Python 2. JavaScript Node.js JavaScript JavaScript JavaScript 3. Python AngularJS Go Go Go 4. Node.js Python C++ Kotlin TypeScript 5. AngularJS JavaScript Java TypeScript Kotlin 6. Java React TypeScript Java Rust 7. iOS Swift C# C++ C++ 8. Arduino/R.Pi MongoDB Swift Swift WebAssembly 9. Swift Arduino/R.Pi Ruby HTML Java 10. C# C++ Rust CSS SQL

GitHub

Chaque année, l’Octoverse de GitHub comptabilise, à partir des dépôts privés et publics, le nombre de contributeurs uniques par langage de programmation, dont voici la liste des dix premiers langages :

2014 2015 2016 2017 2018 1. JavaScript JavaScript JavaScript JavaScript JavaScript 2. Java Java Java Java Java 3. PHP Python Python Python Python 4. Python PHP PHP PHP PHP 5. Ruby Ruby C# C++ C++ 6. C++ C++ C++ C# C# 7. C C# Ruby C TypeScript 8. C# C C Shell Shell 9. Shell Shell Shell Ruby C 10. ObjectiveC ObjectiveC ObjectiveC TypeScript Ruby

Un autre résultat intéressant pour faire des prévisions est l’augmentation du nombre de contributeurs par langage informatique :

Augmentation Langage + 160 % Kotlin + 120 % HCL + 90 % TypeScript + 70 % PowerShell + 70 % Rust + 60 % CMake + 50 % Go + 50 % Python + 40 % Groovy

D’après les résultats de l’étude GitHub, Python est à la fois le langage ayant une des communautés d’utilisateurs la plus importante (en troisième position), mais aussi ayant une des plus fortes progressions du nombre de ses contributeurs sur la période 2017-2018 (+ 50 %).

Tiobe

Tiobe a une approche indépendante des données des entreprises, pas besoin d’avoir accès aux métriques réseaux du site StackOverflow ou d’analyser les codes source publics et privés de GitHub. Tout simplement, Tiobe utilise une vingtaine de moteurs de recherche avec +"Python programming" , et prend le maximum du nombre de résultats (pour éviter de compter plusieurs fois les mêmes résultats). Les langages pouvant avoir des appellations différentes sont regroupés comme JavaScript , JS et SSJS . Les termes "Python3 programming" , "Python-3 programming" et "Python 3 programming" ne sont pas pris en compte.

Avant 2002, l’indice Tiobe utilisait d’autres méthodes pour comptabiliser la popularité des langages de programmation. Son historique remonte à 1989, il y a trente ans !

Tiobe, décerne aussi le prix de la célébrité au langage ayant la plus forte hausse chaque année. Python est le langage ayant été le plus souvent lauréat du prix de la célébrité : en 2007, 2010 et 2018. Nous pouvons aussi supposer de même dans les années 1990 quand on voit que Python obtient des scores de plus de 20 % pour les années 1999 et 1994.

Pourquoi Python a autant de succès ?

car vieux de 25 ans ?

car interprété et lent ?

car pas conçu pour la performance (ne minimise pas la cache cohérence entre processeurs) ?

car l’indentation a une influence directe sur l’exécution ?

car pas de typage statique à l’exécution ?

car dépourvu de switch / case ?

/ ? car les appels à des fonctions inexistantes se fait à l’exécution (et en prod) ?

car sudo pip install --upgrade pip répare tout ? [N. D. M. : c’est ironique…]

répare tout ? [N. D. M. : c’est ironique…] car on a le choix entre espaces et tabulations ?

car on a toujours Python 2 ?

car l’exécution parallélisée (multi‐threading) est super top gérée ?

car on a les meilleurs outils de débogage et de profilage ?

car c’est juste pour du prototypage, pas pour la prod ?

Allez, à ton clavier, nous avons hâte de connaître ton avis dans les commentaires. ✍🤔 Et n’oublie pas de nous donner un coup de main pour la seconde partie de cette série de dépêches sur Python. 🤩

→ https://linuxfr.org/news/python-pour-la-rentree-2019-partie-2

Aller plus loin