L'histoire de python, comprendre python en 10 minutes

History of Python

Salut les devs je vous fais découvrir python 😎 ce langage, né de l'imagination fertile d'un développeur visionnaire, Python a transcendé son statut initial de simple langage de programmation pour devenir un phénomène culturel, une communauté dynamique, et un outil indispensable dans presque tous les domaines de la technologie moderne. Mais comment ce 🐍 a-t-il réussi à s'enrouler autour du monde de la tech, le transformant à jamais ?

Il était une fois, dans une galaxie pas si lointaine...

Tout commence dans les années 80, une époque où les ordinateurs personnels commencent à peine à trouver leur place dans les foyers et les bureaux. Guido van Rossum, un développeur néerlandais brillant mais peu connu, travaille alors au CWI (Centrum Wiskunde & Informatica) aux Pays-Bas. Frustré par les limitations des langages existants, s'est dit : "Et si je créais un langage de programmation aussi cool que moi ?" Bon, ok, il l'a peut-être pas dit comme ça, mais l'idée est là. Pendant que tout le monde faisait la fête et s'enfilait du champagne pour Noël, notre Guido inspiré par son expérience avec le langage ABC, sur lequel il avait précédemment travaillé, il a une vision claire de ce qu'il veut accomplir : un langage simple, lisible, et puissant.

Guido van Rossum : "Hold my beer, I'm about to create a programming language!"

Python 0.9.0 : Le bébé serpent sort de l'œuf

En février 1991, alors que le monde découvrait "The Silence of the Lambs" (coïncidence ? Je ne crois pas), Python 0.9.0 voyait le jour : un langage simple mais puissant, capable de faire des trucs de ouf avec peu de lignes de code. Cette version initiale, bien que rudimentaire comparée aux standards actuels, contenait déjà de nombreuses fonctionnalités qui allaient devenir emblématiques de Python :

  • Classes avec héritage
  • Gestion des exceptions
  • Fonctions et modules pour encourager la programmation modulaire
  • Types de données de base comme les listes, les dictionnaires et les chaînes de caractères
  • La réaction de la communauté des développeurs fut immédiate et enthousiaste. Beaucoup ont vu dans Python une bouffée d'air frais, une alternative élégante aux langages plus complexes et verbeux de l'époque.

    Ah, petite parenthèse historique : pourquoi ça s'appelle Python, au fait ? Non, rien à voir avec le serpent (désolé de décevoir les fans de reptiles). Le créateur de Python, Guido van Rossum, est un grand fan des Monty Python, la célèbre troupe comique britannique. Voilà, maintenant vous pourrez briller en société avec cette anecdote !

    L'évolution de Python : De lézard à T-Rex

    Python a grandi plus vite qu'un Gremlins sous la pluie. Voici un petit récap' pour les flemmardes et les flemmards :

    • 1994 : Python 1.0 - Le bébé serpent apprend à marcher. Cette version introduit des fonctionnalités comme le lambda, map, filter et reduce
    • 2000 : Python 2.0 - Le serpent devient venimeux en apportant des innovations majeures comme les list comprehensions et le ramasse-miettes à comptage de références.
    • 2008 : Python 3.0 - Le serpent mue et devient un dragon qui marque une rupture de compatibilité majeure avec les versions précédentes pour corriger des défauts de conception fondamentaux.
    • 2020 : RIP Python 2 - Même les légendes ont une fin (sauf Keith Richards)

    La communauté Python

    Si la communauté Python était une série TV, ce serait un mix entre "Friends" et "Silicon Valley". Des devs du monde entier qui s'entraident, partagent des blagues geek et créent des trucs incroyables ensemble. C'est beau, on dirait presque du Ubuntu (get it ?). Cette bande de joyeux lurons s'exprime à travers divers canaux :

    • Les conférences PyCon organisées aux quatre coins du globe. Un vrai tour du monde pour les passionnés de Python !
    • Les forums en ligne comme Stack Overflow et Reddit, où poser une question technique devient un véritable sport national.
    • Les projets open source sur GitHub, où chaque ligne de code est un petit pas pour l'humanité... ou presque.

    Et n'oublions pas la Python Software Foundation (PSF), cette organisation à but non lucratif qui est le cœur battant de la communauté Python. La PSF organise des événements, gère les droits d'auteur du langage et finance divers projets liés à Python. Bref, c'est grâce à eux que la magie opère !

    "Je ne suis pas un Pythonista, je suis LE Pythonista" - Probablement un dev Python quelque part

    Python dans le monde : Aussi omniprésent que les MacDo

    Aujourd'hui, Python est partout.Il entoure toute chose et pénètre tout être. Quelques exemples pour vous faire halluciner :

    • Web : Django, le sabre laser des frameworks web
    • Data Science : Avec Pandas, vous vous sentirez aussi intelligent que Sherlock Holmes (mais en moins sociopathe)
    • IA : TensorFlow, c'est Skynet en version sympa
    • Jeux vidéo : Pygame, pour quand vous voulez créer le prochain Flappy Bird (pitié, ne le faites pas)

    Les géants de la tech en PLS devant Python

    Même les GAFAM sont tombés sous le charme de notre serpent préféré :

    • Google : Utilise Python comme si c'était du dentifrice - un peu partout
    • Facebook : A tellement de Python qu'on devrait l'appeler Pythonbook
    • Instagram : 100% Python-powered. Coïncidence ? Je ne crois pas
    • Spotify : Python fait groover leurs algorithmes
    • Netflix : "Python and chill", leur nouveau slogan (ok, j'invente)

    Apprendre Python : Plus facile que d'apprendre à utiliser les baguettes

    Si vous avez déjà réussi à monter un meuble IKEA, vous pouvez apprendre Python. Pourquoi c'est si facile ?

  • La syntaxe est plus claire que l'eau de roche (sauf si vous êtes à Paris)
  • Moins de code = moins de bugs = plus de temps pour binger des séries
  • Une communauté tellement helpful que ça en devient suspect (sont-ils humains ?)
  • "Je ne choisis pas d'apprendre Python. Python me choisit." - Neo, s'il était développeur

    Comment ça marche ?

    Alors, comme aujourd'hui on parle de programmation, on va commencer par l'incontournable : le fameux "Hello World".

    	print('hello world !')
    
    

    Et voilà, c'est tout. Non, je plaisante pas. Niveau syntaxe, c'est aussi simple que de dire bonjour à votre voisin. Ce petit bout de code va afficher "Hello World" sur à peu près toutes les plateformes que vous pouvez imaginer. Il suffit de lancer cette commande (✋ Installer d'abord python):

    	python hello.py
    

    Voyons un peu ce qui se passe en coulisses quand vous exécutez cette commande. Python est un langage de programmation interprété, mais avec une étape de compilation au milieu. Oui, c'est un peu comme si votre code passait par un traducteur avant de pouvoir s'exprimer.

    Quand vous lancez votre script Python (.py), l'interpréteur Python commence par compiler le code en bytecode, qu'il stocke dans un fichier .pyc. C'est une version basse résolution de votre code, en quelque sorte.

    Le bytecode est une étape intermédiaire, ce n'est pas du langage machine pur. Du coup, il ne peut pas être exécuté directement par le CPU. Au lieu de cela, l'interpréteur Python exécute le bytecode sur la machine virtuelle Python (PVM). Et le truc cool, c'est que cette machine virtuelle peut s'adapter à n'importe quelle plateforme (Windows, Linux, etc.), permettant à Python de fonctionner partout. Trop compliqué ? Allez, un petit schéma pour clarifier tout ça.

    Cpython

    En Python "classique", ou CPython, c'est ainsi que le langage exécute votre programme. Il existe d'autres implémentations de Python, mais on va se concentrer sur CPython pour l'instant.

    On ne va pas se lancer dans les détails des autres implémentations comme PyPy, ni parler de concurrence ou de threading et des joies du GIL aujourd'hui. Restez branchés pour un futur article dédié à ces sujets. Pour l'instant, regardons simplement à quoi ressemble le code.

    Exemples de code en Python

    Voici quelques exemples de code pour vous donner une idée de la puissance et de la simplicité de Python.

    Lire un Fichier

    		with open('fichier.txt', 'r') as file:
        contenu = file.read()
        print(contenu)
    
    	

    Avec cette simple commande, vous pouvez lire et afficher le contenu d'un fichier texte. Pas mal, non ?

    Utiliser des Boucles

    		for i in range(5):
        print(f'Itération {i}')
    
    	

    Une boucle for qui affiche les nombres de 0 à 4. Tellement simple que même votre chat pourrait le comprendre.

    Fonctions et Modules

    		def salut(nom):
        return f'Bonjour, {nom} !'
    
    print(salut('Python'))
    
    	

    Une petite fonction qui dit bonjour. Python rend la définition des fonctions et des modules aussi simple que bonjour.

    Conclusion

    Python, c'est le langage qui rend la programmation accessible à tous, du débutant au développeur chevronné. Sa syntaxe simple, sa communauté accueillante et ses innombrables bibliothèques en font un outil de choix pour une multitude de projets, qu'il s'agisse de développement web, de science des données ou de scripting système.

    Alors, n'hésitez plus, plongez dans l'univers Python et découvrez par vous-même pourquoi ce langage est adoré par tant de développeurs à travers le monde. Et rappelez-vous, le plus important, c'est de coder avec plaisir et curiosité.

    • A+
    • A-