Qu’est-ce qui motive la popularité massive de Python ?

Qu’est-ce qui motive la popularité massive de Python ?

(Funtap/Shutterstock)

Plus tôt ce mois-ci, Python est passé à la première place de l’indice TIOBE, marquant la première fois en 20 ans qu’un langage nommé C ou Java n’était pas en tête de liste. C’est une belle plume dans le chapeau de Python et marque le sommet de la portée du langage. Mais qu’y a-t-il derrière le formidable succès de Python ?

Python a commencé assez modestement, comme passe-temps pour occuper Guido van Rossum pendant les vacances de 1989. Il ne savait pas qu’il lançait un langage de programmation qui aurait un impact durable sur un segment du monde informatique pendant plus de 30 ans.

Python a été créé par Van Rossum pour être un langage de programmation interprété à usage général. Ses objectifs de conception initiaux pour Python étaient que ce serait un langage facile et intuitif à apprendre, aussi compréhensible que l’anglais simple, adapté aux tâches quotidiennes et open source.

L’héritage des objectifs de conception est clairement évident lorsque l’on parle avec des membres de la communauté Python, qui est un groupe étendu d’individus qui utilisent Python pour une grande variété de choses. Alors que les programmeurs écrivent apparemment Python pour le travail, on a le sentiment qu’ils en tirent un réel plaisir.

“J’ai choisi Python parce que c’était un langage amusant à coder”, déclare Calvin Hendryx-Parker, directeur technique et co-fondateur de Six Feet Up, un cabinet de conseil basé à Fishers, dans l’Indiana, qui fait beaucoup de codage Python personnalisé.

« J’aime ça parce qu’il ne s’agit pas seulement d’un travail fastidieux », poursuit-il. « Tout cela est très innovant et créatif. C’est plus une compétence de style artisan. Les ingénieurs construisent la même chose jour après jour, mais les artisans doivent résoudre les problèmes de manière créative car l’environnement qui les entoure est en constante évolution.

Python est passé à la première place de l’index TIOBE des langages (Source : Index TIOBE)

Six Feet Up a été fondée pour créer des applications Web personnalisées, mais les clients de tout le Midwest font appel à l’entreprise pour obtenir de l’aide avec des projets de mégadonnées jusqu’à la production. Bien que Python ne soit pas le seul langage impliqué dans ces projets, ils impliquent généralement une bonne dose du langage de script préféré de tout le monde.

“Ce qui est bien, c’est qu’une grande partie de l’outillage Big Data commence à être construit en Python”, déclare Hendryx-Parker. “C’est ce genre de lingua franca pour tout ce qui concerne les données.”

L’écosystème massif de Python

L’écosystème de données Python est vaste et en pleine croissance. Des wrappers Python pour Keras et TensorFlow aux packages d’apprentissage automatique comme scikit-learn et NumPy, des interfaces Python pour les clusters Spark et Dask à l’expérimentation de code dans des notebooks Jupyter ou Pandas, les data scientists et les ingénieurs peuvent faire pratiquement tout ce dont ils ont besoin sans partir La syntaxe confortable de Python.

La flexibilité de Python est au centre des préoccupations de Prefect, une société basée à Washington, DC qui développe un outil de pipeline de données basé sur Python. Selon le préfet CTO Chris White, Python est l’outil parfait pour le travail.

Le préfet CTO Chris White apprécie la flexibilité de Python

“À un niveau élevé, notre sensibilité de conception est des valeurs par défaut sensibles mais profondément configurables, de sorte que vous pouvez en quelque sorte faire fonctionner quelque chose très rapidement si vous le souhaitez vraiment, mais lorsque vous voulez vraiment entrer dans les mauvaises herbes, vous pouvez aussi le faire.” dit Blanc. “Python nous aide vraiment à atteindre cet objectif, car en fin de compte, Python est un langage très flexible. Vous pouvez écrire un script. Vous n’avez pas besoin de savoir ce que signifie compiler ou quoi que ce soit. Vous écrivez juste un script.

Tout cela renvoie à la philosophie de conception de van Rossum pour Python, qui était la simplicité plutôt que la complexité. La barrière à l’entrée pour Python est incroyablement faible, grâce à sa lisibilité imminente. Cela permet à Prefect d’utiliser Python avec ses codeurs juniors et ses programmeurs plus expérimentés.

« C’est l’un des rares langages, du moins à ma connaissance, qui peut être utilisé comme langage de script brut. Vous venez de l’exécuter. Vous n’avez rien à savoir d’autre », dit White. « C’est donc très accessible. et bien sûr, vous pouvez emballer les choses. Vous pouvez écrire des extensions C et des choses comme ça.

Flexibilité et performances

En parlant de C, la performance n’est pas l’une des forces de Python. C’est l’un des compromis pour une flexibilité et une accessibilité imminentes. Grâce aux extensions C, il existe un chemin pour atteindre des performances plus élevées. Mais dans de nombreux cas, cette performance n’est pas nécessaire.

“Il existe bien sûr d’autres langages de programmation qui seront beaucoup plus rapides que Python dans les cas extrêmes les plus extrêmes, pour le traitement en temps réel ou quelque chose du genre”, déclare White. “Mais dans 90 % des données que les gens traitent réellement… vous n’avez pas besoin de cette vitesse.”

Un autre point négatif dans le répertoire historique de Python est la sécurité des types. Python est un langage fortement typé, ce qui a suscité des critiques de la part de certains. Cependant, les gens ont commencé à réaliser que ce n’était pas aussi négatif qu’ils le pensaient, dit White.

«Beaucoup de choses dont les gens se plaignaient au départ, comme la vitesse et la sécurité du type, les gens commencent à se détendre un peu. Peut-être qu’ils ne sont pas si importants pour certaines des applications auxquelles les gens sont confrontés », dit-il. « C’est le gros problème – vous ne pouvez pas faire beaucoup de vérification de type avec des données. La plupart des données sont donc non structurées. Il est vraiment difficile de concevoir même comment vous structureriez cela. Mais Python rend très facile au moins de commencer à itérer et à comprendre, alors que d’autres langages vous forceraient en quelque sorte à adopter un schéma très tôt.

Python est préféré par les data scientists et les ingénieurs de données (Trismegist san/Shutterstock)

La vitesse de développement est un gros plus dans le coin de Python. Parce que le langage est si accessible, les développeurs peuvent rapidement assembler quelque chose sans en faire un projet majeur. La désinvolture du codage Python est peut-être à son apogée dans Juypter, où vous pouvez exécuter Python sur place dans le navigateur, même si les choses ne fonctionnent pas.

Un multiplicateur de force

Lorsqu’ils sont mis entre de bonnes mains, les outils Python peuvent également fonctionner comme un multiplicateur de force, offrant des capacités sophistiquées d’ingénierie et de science des données qui vont au-delà de ce qui serait possible si nous devions tous être des experts en C ou Java. White rapporte cette histoire d’un client Prefect qui a utilisé l’outil Prefect (une création Python) pour orchestrer des workflows de données assez complexes.

“Le client a dit : ‘Je ne suis pas vraiment un ingénieur logiciel de formation, mais je viens d’écrire ce que je pense être un flux de travail de traitement par lots très robuste et tolérant aux pannes et je l’envoie à Kubernetes'”, déclare White. “Il a dit:” Je n’ai aucune raison de savoir ce que signifient ces mots, mais le préfet m’a donné les outils pour y arriver.

Alors que Python abaisse la barrière à l’entrée, grâce à la flexibilité de Python et à la communauté d’utilisateurs enthousiastes, on peut également écrire un code parfaitement soigné et haut de gamme qui sera un plaisir absolu à gérer pour votre sympathique ingénieur DevOps.

“Python vous permet de marteler quelque chose très rapidement”, déclare Hendryx-Parker. “Mais il se prête également à les convertir facilement en un projet logiciel bien formé avec toutes les belles cloches et sifflets quand il s’agit de tests unitaires et être capable de déployer avec CI/CD – tous les types de garnitures modernes qui l’entourent .”

La communauté open source

Un autre avantage en faveur de Python est la communauté open source qui s’est construite autour de lui, selon Hendryx-Parker, qui participe à des conférences Python depuis près de 20 ans et qui est le fondateur du groupe d’utilisateurs Python local à Indianapolis, IndyPy

Calvin Hendryx-Parker est le directeur technique de Six Feet Up

« C’est un groupe de personnes formidables qui veulent s’assurer qu’il est accueillant et ouvert à d’autres personnes formidables pour venir faire partie de cette communauté, ce qui n’est pas toujours facile dans une communauté technologique », dit-il.

Il existe des milliers de modules complémentaires, d’ajouts et d’intégrations pour Python, dont la plupart sont open source, mais dont certains sont mal entretenus. Cela peut parfois rendre difficile d’éviter les packages Python qui ont succombé à la vieillesse ou à la pourriture, explique Hendryx-Parker.

D’un autre côté, lorsque l’on tombe sur une bibliothèque utile mais négligée, cela offre également aux utilisateurs de Python l’occasion d’intervenir et de redonner à la communauté Python en se portant volontaire pour aider à maintenir le code, dit-il.

“Nous encourageons nos clients qui se trouvent dans cette situation à nous faire consacrer du temps dans leur budget à l’amélioration de ces projets open source”, déclare Hendryx-Parker. « Je pense que c’est bien partout. C’est un gagnant-gagnant-gagnant. S’ils peuvent obtenir ce budget et s’ils savent qu’ils doivent avoir cette capacité dans leur chaîne d’approvisionnement, c’est une évidence.

Comparé à l’écosystème bien documenté qui a été construit autour de R, l’écosystème Python est un peu moins ordonné, ce qui a ses avantages et ses inconvénients, dit White.

“R a vraiment eu beaucoup de succès parce qu’il ressemble un peu à un standard. Il a le même univers de packages qui fonctionnent très bien ensemble, et donc je pense que cela pousse les gens vers R”, dit-il. “Python, c’est un peu comme le Far West. Vous pouvez faire n’importe quoi. Il n’y a pas un ensemble de packages aussi étroitement standardisés que le Tidyverse dans R. »

D’un autre côté, la communauté Python est si grande et si ouverte que les utilisateurs disposent de nombreuses sources d’aide. « Il y a beaucoup de bonne documentation, donc vous pouvez toujours obtenir les réponses dont vous avez besoin très rapidement », dit White. «Mais nous devons sortir et regarder. Ce n’est pas aussi autonome.

L’avenir de Python est prometteur. C’est au sommet ou près du sommet de la liste des compétences de tout le monde pour la science des données et l’ingénierie des données. Avec son élan actuel, Python semble destiné à continuer de croître jusqu’à ce que quelque chose parvienne à le déloger du haut du tas.

Articles connexes:

Trois raisons pour lesquelles Python est l’IA Lingua Franca

Python attire les débutants ainsi que les pros

Python étrangle-t-il R à mort ?

Leave a Comment