Python fête ses 30 ans

Le 20 février 1991, Guido van Rossum publie dans le groupe alt.sources la première version du langage de programmation Python, sur lequel il travaille depuis décembre 1989 dans le cadre d'un projet de création d'un langage de script pour résoudre les problèmes d'administration système dans le système d'exploitation Amoeba, qui serait d'un niveau supérieur à C, mais, contrairement au shell Bourne, fournirait un accès plus pratique aux appels système du système d'exploitation.

Le nom du projet a été choisi en l'honneur du groupe comique Monty Python. La première version introduisait la prise en charge des classes avec héritage, gestion des exceptions, un système de modules et la liste des types de base, dict et str. L'implémentation des modules et des exceptions a été empruntée au langage Modula-3 et le style de codage basé sur l'indentation au langage ABC, auquel Guido a déjà contribué.

Lors de la création de Python, Guido a été guidé par les principes suivants :

  • Principes qui ont permis de gagner du temps lors du développement :
    • Emprunter des idées utiles à d’autres projets.
    • La recherche de la simplicité, mais sans simplification excessive (principe d’Einshein « Tout doit être énoncé aussi simplement que possible, mais pas plus simple »).
    • Suivant la philosophie UNUX, selon laquelle les programmes implémentent une fonctionnalité, mais le font bien.
    • Ne vous inquiétez pas trop des performances, des optimisations peuvent être ajoutées si nécessaire.
    • N’essayez pas de combattre les choses dominantes, mais suivez le courant.
    • Évitez le perfectionnisme ; généralement le niveau « assez bon » est suffisant.
    • Parfois, des raccourcis peuvent être rognés, surtout si quelque chose peut être fait plus tard.
  • Autres principes :
    • L’implémentation n’a pas besoin d’être spécifique à la plateforme. Certaines fonctionnalités ne sont pas toujours disponibles, mais les fonctionnalités de base devraient fonctionner partout.
    • Ne surchargez pas les utilisateurs avec des pièces pouvant être manipulées par une machine.
    • Prise en charge et promotion du code utilisateur indépendant de la plateforme, mais sans restreindre l'accès aux capacités et fonctionnalités des plateformes.
    • Les grands systèmes complexes doivent fournir plusieurs niveaux d’expansion.
    • Les erreurs ne doivent pas être fatales et non détectées : le code utilisateur doit être capable de détecter et de gérer les erreurs.
    • Les erreurs dans le code utilisateur ne doivent pas affecter la fonctionnalité de la machine virtuelle et ne doivent pas conduire à un comportement indéfini de l'interpréteur ni à des pannes de processus.

    Source: opennet.ru

Ajouter un commentaire