Python 101 pour les chefs de produit
En tant que chef de produit, il peut être extrêmement utile de comprendre les bases des langages de programmation et des outils que votre équipe utilise chaque jour. Donc, si votre équipe utilise actuellement Python, voici des informations générales qui peuvent vous aider à communiquer avec votre équipe de développement.
Python est un langage de programmation mature (quatre ans de plus que Java!) Et «le langage de programmation majeur qui connaît la croissance la plus rapide aujourd’hui» selon Stack Overflow.
Une grande partie de sa croissance récente est attribuable à son utilisation en science des données. La communauté des scientifiques de données a fortement adopté Python, et la science des données se développe rapidement.
Fait amusant, le nom de Python s’inspire du Flying Circus de Monty Python.
Nous allons examiner trois exemples de code Python:
- Un exemple simple
- Un exemple avec Django
- Un exemple utilisant Sklearn
Un exemple simple
Même si vous n’avez jamais vu Phyton auparavant, ça va. Vous pourrez toujours le lire car il a été spécialement conçu en mettant l’accent sur la lisibilité. Voyez si vous pouvez comprendre ce que dit l’image ci-dessous:
L’image ci-dessus est une fonction permettant d’accepter une date, puis de déterminer le lundi le plus proche. Si c’est vendredi ou plus tard, alors lundi prochain est plus proche. Sinon, le lundi précédent est plus proche.
Django
Voici à quoi ressemble Python dans Django, un framework de programmation web.
Sklearn
Voici un exemple d’apprentissage automatique.
Dans ce cas, nous créons une machine à vecteur de support pour classer et prédire les chiffres manuscrits. L’appareil accepte une photo d’un numéro manuscrit (éventuellement une enveloppe envoyée par la poste) et il peut vous indiquer le numéro que vous avez écrit. Le code est court, surtout compte tenu de sa puissance.
Il utilise le modèle d’apprentissage automatique où les humains indiquent au programme quels sont les nombres au début. Ensuite, une fois que le programme a suffisamment de données, les humains arrêtent de le dire et voient si la machine peut identifier les numéros par elle-même.
Vous ne savez peut-être pas que les langages de programmation ont des valeurs, mais ils en ont! Et généralement, ils prennent la valeur de leurs créateurs. Voici ce que la fondatrice de Python, Guida van Rossum, avait à dire sur les valeurs de Python.
«Vous écrivez principalement votre code pour communiquer avec d’autres codeurs et, dans une moindre mesure, pour imposer votre volonté à l’ordinateur.» -Guido van Rossum
Une autre valeur Python est que le temps du programmeur est plus cher que les serveurs. Par conséquent, la langue est optimisée pour être facile à comprendre et à écrire. Vous pouvez y exprimer beaucoup d’idées. Cependant, ce n’est pas nécessairement la langue la plus rapide.
Un autre point positif – piles incluses. En d’autres termes, la bibliothèque standard de Python possède de nombreuses fonctions prêtes à l’emploi. Et si la bibliothèque standard ne l’a pas, il existe de nombreux packages open source qui répondent aux besoins de votre développeur.
Programmation web: Instagram, Pinterest et Dropbox sont tous écrits en Python. En fait, Instagram est le site Django le plus populaire et le plus optimisé qui soit.
Science des données et apprentissage automatique: Il existe de nombreuses bibliothèques puissantes comme Pandas, Numpy, Scikit-learn et Tensorflow (deep learning).
ETL, Workflows «Extraire la charge de transformation»: Python a tendance à faire un bon langage de «colle». Cela ne gêne pas. Il est flexible et rapide à développer, mais suffisamment robuste pour prendre en charge les tests, les modules et d’autres choses que vous attendez d’un «vrai» langage pour vous permettre de vous développer. À titre de comparaison, il existe certaines langues (par exemple, Bash) où vous pouvez être submergé de complexité.
Enseignement: Python est une excellente première langue à apprendre car elle est simple à lire et à écrire. Si vous souhaitez apprendre les bases de Python, commencer ici.
Dans l’ensemble, Python est un bon choix par défaut pour la plupart des choses. Et pour les quelques choses qui ne sont pas, vous pouvez connecter Python en C ++ chaque fois que de vraies performances sont nécessaires. Même à un stade précoce, Google a adopté une attitude de « Python où nous pouvons, C ++ où nous devons. »
Il y a une poignée de choses pour lesquelles votre équipe de développement n’utilisera probablement pas Python, y compris
- Interfaces utilisateur graphiques (GUI) que vous attendez d’un utilisateur qu’il installe sur son ordinateur
- Des systèmes en temps réel comme le trading haute fréquence, les routeurs Internet ou les systèmes de conduite automatisés. Python ne sera pas assez rapide pour ces réactions et confirmations en millisecondes
- Systèmes embarqués ou IoT (robotique, stimulateurs cardiaques, consoles de jeux vidéo)
- Code qui doit s’exécuter dans le navigateur. Vous allez avoir besoin de javascript ou d’un langage qui compile Javascript
Fin 2019, Python a connu une transition difficile de la version 2 à la version 3, ce qui a dérouté certains chefs de produit et équipes sur la meilleure version à utiliser.
Aujourd’hui, vous devez utiliser Python 3. Python 2 est en fin de vie et ne recevra pas de correctifs de sécurité au 1er janvier 2020. Il existe toujours car de nombreux systèmes d’exploitation s’appuient sur lui pour le code «glue», mais finalement, les systèmes devra effectuer le changement ou faire face à des problèmes de sécurité potentiels.
Si vous êtes chef de produit, vous n’avez pas besoin de connaître les détails de Python, mais la compréhension des bases peut vous aider à communiquer avec votre équipe de développement et à comprendre ce que le code fait sur le backend.