Catégories
Astuces et Design

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

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 pourriez vouloir connaître si vous ne voulez pas être laissé pour compte.

Si vous réfléchissiez 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 considérer le rapport coût / avantage de l'adoption d'une technologie donnée.

Cela dit, lorsque les choses bougent 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 en Python). Améliorez vos compétences avec The Python Master et accédez à une bibliothèque croissante de plus de 400 livres et cours sur la conception et le développement Web.

Salut le roi

Pratiquement chaque cours de premier cycle en informatique aujourd'hui est enseigné avec Python – et pas seulement des cours d'initiation à l'informatique proposés par des entreprises ou des universités. Même des cours hautement spécialisés sur la science des données, l'IA ou la finance quantitative – qui, il y a peu, auraient utilisé des langages tels que R, MATLAB ou C ++ – sont désormais plus souvent qu'autrement dispensés 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?

Qu'en est-il d'une liste plus complète de langues sur une plus longue période de temps? Sûr:

Comment est-ce arrivé?

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

  • Facile à apprendre. Contrairement à C ++ ou Java, Python est relativement plus facile à aborder, 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.
  • Vieux et nouveau. Contrairement à Visual Basic (qui ne semblait pas résister à l'épreuve du temps) ou à Go (qui est assez nouveau, novembre 2009), Python est un relativement langue ancienne (1990), en développement actif, qui s'est très bien vieillie.
  • Batteries incluses. contrairement à tout Parmi les 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 pour prototyper pratiquement n'importe quoi (même des microcontrôleurs sans utiliser Assembler!) et lancer un produit minimum viable en un rien de temps.

De plus – et oui, c'est très biaisé, mais … – Python est amusant!

Python sur xkcd

Mais assez de louanges; creusons un peu. Je vais souligner quelques outils qui démontrent la puissance de Python. Il y en 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 science des données, alors rattrapons-nous également plus tard pour plus de packages!

Paquets

Développement Cloud

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

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

Paquets

  • Framework Django REST. 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. Fonctionnant sur Django, il est également 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), Google Cloud Platform (GCP) et Microsoft Azure.

De plus, il est bon de se familiariser avec AWS Lambda, Amazon API Gateway, Fonctions cloud et Fonctions Azure. 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 le Bitcoin et d'autres crypto-monnaies sont une 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 les ICO.)

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

Paquets

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

Cela dit, il existe 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, vérifiez les pandas (voir la section science des données) et Tyrolienne (une bibliothèque de trading algorithmique pythonique).

Science des données

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 est venu un long chemin depuis lors, et il n'y a pratiquement aucune tâche donnée que vous ne pouvez pas effectuer en Python aussi efficacement – sinon plus – que vous le feriez sur ces autres plates-formes. Et Python est encore un langage à usage général, ce qui signifie qu'il peut faire beaucoup plus pour vous.

Paquets

  • 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 pour le calcul scientifique et technique, y compris les statistiques, l'optimisation, l'intégration numérique, l'interpolation, les fonctions spéciales, la FFT, le traitement du signal et de l'image et les solveurs ODE.

Développement Web et applications mobiles

Oui, le développement web est encore une chose en 2020! Qui savait? Si vous me demandez, non seulement il y a 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 ne joue peut-être pas un rôle de premier plan ici, mais il y a un avantage: vous pouvez projeter gérer les choses plus facilement, déplacer les membres de l'équipe, car il est probable que les autres extrémités de l'écosystème avec lesquelles vous travaillez sont aussi va être développé en Python.

En d'autres termes, en tant que joueur Python, vous pouvez jouer à de nombreux jeux.

Paquets

  • Ballon. 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 aucune couche 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, ses systèmes de mappage de relation d'objet (ORM) et de 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 bref, Kivy est destiné au développement d'interfaces graphiques multiplateformes et BeeWare au développement d'applications natives 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 proche avenir.

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éé Projet Jupyter comme spin-off.

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

Enfin, d'une manière similaire à Shiny du R Studio, l'écosystème Jupyter a introduit Voilà, lequel "transforme les blocs-notes Jupyter en 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.

Emballer

Rien ne dure éternellement, peut-être surtout en informatique. Si nous pouvons conclure quelque chose du clip des langages de programmation les plus populaires 1965-2019 à l'intro, c'est que les langages de programmation règnent et disparaissent. 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, longue vie au roi!

Bien que cela ne semble pas se produire cette Bientôt, de nombreux outils et packages que nous avons examinés ici seront sûrement non entretenus, abandonnés, bifurqués 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, non?

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


Trouvez votre prochain emploi Python à distance avec SitePoint Remote, où nous sélectionnons les meilleurs emplois à distance pour les développeurs, les concepteurs et les professionnels du numérique.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *