Fermer

janvier 23, 2020

Quoi de neuf dans la langue la plus chaude aujourd'hui –


Python est sans doute le langage de programmation de nos jours. Nous allons explorer pourquoi cela pourrait être le cas, quelles sont les tendances actuelles au sein de la communauté Python, et quels packages et outils vous voudrez peut-être connaître si vous ne voulez pas être laissé pour compte.

Si vous étiez En réfléchissant au langage de programmation dans lequel vous devriez investir du temps et des efforts, vous pouvez arrêter la recherche maintenant. C'est Python.

D'accord, c'était une simplification excessive. Certes, vous n'allez pas vous lancer dans un projet Java qui est en développement depuis des années juste pour porter tout ce code en Python juste parce qu'il est "chaud". Les langages de programmation sont un moyen d'arriver à une fin, et vous devez soigneusement examiner le rapport coût / avantage de l'adoption d'une technologie donnée.

Cela dit, lorsque les choses évoluent massivement dans une certaine direction, cela doit signifier quelque chose. Et depuis un certain temps déjà, les choses évoluent vers Python.

Vous voulez améliorer vos compétences en Python et vous démarquer sur un marché en croissance rapide? Découvrez SitePoint Premium ! Vous trouverez des livres pour vous aider à démarrer (comme The Python Apprentice ) et développer des compétences prêtes à l'emploi (comme Front-end Testing in Python ). Améliorez vos compétences avec The Python Master et accédez à une bibliothèque grandissante de plus de 400 livres et cours sur la conception et le développement Web.

Hail the King

Pratiquement pratiquement tous les cours de premier cycle en informatique sont aujourd'hui enseigné avec Python – et pas seulement des cours d'introduction à l'informatique offerts par des entreprises ou par des universités . Même des cours hautement spécialisés sur la science des données AI ou finance quantitative – qui, il y a peu, auraient utilisé des langages tels que R, MATLAB ou C ++ – sont maintenant aussi le plus souvent enseigné entièrement en Python.

Découvrez les tendances à partir de 2019 pour les cinq dernières années en comparant Python, Java, C ++ et PHP:

Assez éloquent, n'est-ce pas?

sur une liste plus complète de langues sur une plus longue période de temps? Bien sûr:

Comment est-ce arrivé?

Il y a tonnes d'articles qui explorent pourquoi le Python est si populaire, mais en guise de rappel, commençons une guerre des flammes ici et expliquer brièvement comment il se compare aux autres langues:

  • Facile à apprendre . Contrairement à C ++ ou Java Python est relativement plus facile à approcher, même pour les noobs totaux – ce qui est l'une des raisons pour lesquelles c'est le langage de choix pour l'introduction aux cours de programmation.
  • Usage général . Contrairement à PHP (qui est destiné à la programmation Web) ou R (qui est destiné à l'analyse statistique), Python convient à un certain nombre de tâches.
  • Anciens et nouveaux . Contrairement à Visual Basic (qui ne semblait pas résister à l'épreuve du temps) ou Go (qui est assez récent, novembre 2009), Python est un relativement relativement ancienne langue (1990), en développement actif, qui s'est très bien vieillie.
  • Piles incluses . Contrairement à tous les des langages mentionnés, Python possède une énorme bibliothèque dite standard qui couvre toutes sortes de tâches, des domaines spécifiques aux tâches générales.

Tout cela fait de Python un langage dans lequel il est extrêmement facile de créer pratiquement n'importe quoi ( même des microcontrôleurs sans utiliser Assembler! ) et de lancer un produit minimum viable en un rien de temps. [19659003] De plus – et oui, c'est très biaisé, mais… – Python est amusant!

 Python sur xkcd

Mais assez d'éloge; creusons un peu. Je vais souligner quelques outils qui démontrent la puissance de Python. Il y a, bien sûr, beaucoup d'autres à découvrir.

AI

L'intelligence artificielle est omniprésente de nos jours (je vous mets au défi de trouver un processus qui ne pourrait pas être amélioré avec le début de l'IA), et c'est un vaste domaine d'étude dans lequel Python brille très certainement .

Vous trouverez, sans surprise, un terrain d'entente avec la section de science des données, alors nous allons également rattraper plus tard pour plus de packages aussi!

Packages

Cloud Development

Toutes les intégrations auxquelles vous pouvez penser, y compris le mobile, Internet des objets (IoT), les API de toutes sortes, et même la gestion et l'approvisionnement Infrastructure as Code (IaC) – tout cela signifie cloud.

En tant que programmeur Python, cela signifie des opportunités pour vous de développer des microservices dans le modèle d'exécution sans serveur sans serveur .

Packages

  • Django REST framework . Une boîte à outils puissante et flexible pour créer des API Web navigables. Il prend en charge la sérialisation, les politiques d'authentification et la personnalisation des vues, entre autres fonctionnalités. Courant sur Django, il est aussi très bien documenté.
  • Pika . L'implémentation en Python pur de RabbitMQ un courtier de messages à grande échelle et à haute disponibilité qui permet la messagerie asynchrone sur différentes plates-formes et systèmes.
  • Framework sans serveur . Tout en étant développé dans Node.js, if offre des tonnes d'exemples sur la façon de créer et de déployer des applications Python sur Amazon Web Services (AWS), la Google Cloud Platform (GCP) et Microsoft Azure.

, il est bon de se familiariser avec AWS Lambda Amazon API Gateway Cloud Functions et Azure Functions . Ce sont des services Amazon, Google et Microsoft que vous utiliserez pour déployer réellement votre code Python dans le cloud.

Crypto-monnaies et finances

Je n'entrerai pas dans une discussion ici pour savoir si Bitcoin et d'autres crypto-monnaies sont un bulle économique (ils le sont!), car cela déclencherait un débat houleux sans fin.

Mais une chose est sûre: * les utilisations de la technologie blockchain vont plus loin que les crypto-monnaies et ICO .)

Et si vous souhaitez vous plonger dans le côté financier, vous pouvez appliquer ces connaissances à tous les marchés financiers, y compris les crypto-monnaies.

Packages

Python est principalement utilisé comme langage côté serveur et pas tant de client côté (pour des choses comme les portefeuilles). Dans cet esprit, pour développer la blockchain, vous pouvez en fait utiliser des frameworks tels que TensorFlow et Django (voir respectivement les sections IA et développement Web pour plus de détails).

Cela dit, il y a une poignée de packages liés à la blockchain et à la finance qui pourraient être utiles, tels que api-v1-client-python (API de développement Blockchain Bitcoin) et SmartPy (langage de contrat intelligent) pour Tezos ).

Pour une analyse quantitative, consultez pandas (voir la section science des données) et Zipline (une bibliothèque de trading algorithmique pythonique).

Data Science

Tout comme avec l'IA, Python a solennellement prouvé sa place dans le domaine de la science des données parmi des acteurs comme R et MATLAB.

À vrai dire, bien qu'ils ne soient pas conçus comme des outils à usage général, ces autres langages avaient un avantage par rapport à Python, à la fois en termes de performances et de capacités. Ce n'est plus le cas, cependant, comme Python a parcouru un long chemin depuis, et il n'y a pratiquement aucune tâche donnée que vous ne pouvez pas effectuer en Python aussi efficacement – sinon plus – comme vous le feriez sur ces autres plates-formes . Et Python est toujours un langage polyvalent, ce qui signifie qu'il peut faire beaucoup plus pour vous.

Packages

  • NumPy . Python rencontre MATLAB: algèbre linéaire avec prise en charge de grands tableaux et matrices multidimensionnels, et une grande collection de fonctions mathématiques de haut niveau pour les manipuler.
  • pandas . Structures de données performantes et faciles à utiliser pour l'analyse de données, en particulier la manipulation de données de tableaux numériques et de séries chronologiques. Découvrez cette série de vidéos de la Data School !
  • SciPy . Routines de calcul scientifique et technique, y compris statistiques, optimisation, intégration numérique, interpolation, fonctions spéciales, FFT traitement du signal et de l'image et ODE solveurs.

Développement Web et Mobile Apps

Oui, le développement web est encore une chose en 2020! Qui savait? Si vous me demandez, non seulement il reste encore de nombreuses années à venir pour le développement Web, mais la frontière entre les applications Web et mobiles ne fera que devenir plus floue.

Certes, Python pourrait ne pas jouer un rôle de premier plan ici, mais il y a edge: vous pouvez projeter la gestion des choses plus facilement, en déplaçant les membres de l'équipe car il est probable que d'autres extrémités de l'écosystème avec lequel vous travaillez vont également être développées en Python. [19659003] En d'autres termes, en tant que joueur Python, vous pouvez jouer à de nombreux jeux.

Packages

  • Flask . Un cadre d'application Web léger. En tant que microframework il ne nécessite pas d'outils ou de bibliothèques particuliers, ce qui signifie également qu'il n'y a pas de couches d'abstraction de base de données. Mais parfois le minimalisme et la performance sont le nom du jeu.
  • Django . « Le framework web pour les perfectionnistes avec des délais » (j'adore ce slogan!) Rapide, sécurisé et évolutif, son mappage de relation d'objet (ORM) et son modèle-modèle-vue (MTV) sont si bons que beaucoup utilisent le cadre même pour des travaux non liés au Web . Instagram, Spotify, Pinterest, Dropbox et même YouTube sont des exemples de sites construits avec Django
  • Kivy et BeeWare . En un mot, Kivy est destiné au développement d'interfaces graphiques multiplateformes, et BeeWare est destiné au développement d'applications natives et multiplateformes, y compris les ordinateurs de bureau et les mobiles. Ce sont encore des joueurs modestes par rapport à Ionic mais les choses pourraient changer dans un avenir proche.

iPython a été initialement présenté comme un outil pour «l'informatique interactive» (saisie en direct et exécution de code ), mais bientôt un groupe de développeurs a réalisé que l'idée derrière elle avait tellement de potentiel qu'ils ont créé Project Jupyter comme spin-off.

Plus tard, JupyterLab allait entrer , qui a propulsé le concept des «interfaces de bloc-notes» (code exécutable, sortie et annotations que vous pouvez partager) au niveau supérieur, prenant en charge un éventail de langages, pas seulement Python. Essayez-le !

Enfin, d'une manière similaire à Brillant du studio R, l'écosystème Jupyter a introduit Voilà qui « transforme Jupyter des cahiers dans des applications Web autonomes ». Consultez la galerie des tableaux de bord Voilà . C'est assez impressionnant.

Donc si vous ne l'avez pas déjà fait, vous devriez vraiment vous familiariser avec ces outils . Ils simplifieront considérablement votre flux de travail, permettant un test et un partage de code plus rapides.

Conclusion

Rien ne dure éternellement, peut-être surtout en informatique. Si nous pouvons conclure quelque chose du clip Les langages de programmation les plus populaires 1965-2019 à l'intro, c'est que les langages de programmation règnent. Oui, maintenant le roi est un serpent non venimeux mais vous ne serez pas surpris si un jour vous entendez le tollé des masses: le roi est mort, vive le roi!

Bien qu'il ne semble pas que cela se produira que bientôt, bon nombre des outils et des packages que nous avons examinés ici ne seront pas entretenus, abandonnés, fourchus ou repris par des concurrents. Et nous savons que même si c'est amusant d'apprendre à faire les choses d'une manière nouvelle ou avec un nouvel outil, cela peut aussi être pénible si vous avez déjà un flux de travail en cours. Mais bon, nous ne parlerions pas de technologie si nous voulions que les choses restent les mêmes, n'est-ce pas?

Alors restez vigilant, toujours avec votre radar allumé, gardez un œil sur les PyCon – les deux conférences dans votre ville et les clips sur YouTube – pour voir les nouveautés à l'horizon. Et n’hésitez pas à essayer de nouvelles choses de temps en temps. De cette façon, vous resterez en forme.




Source link