Python wordt 30 jaar oud

Op 20 februari 1991 publiceerde Guido van Rossum in de alt.sources-groep de eerste release van de programmeertaal Python, waaraan hij sinds december 1989 werkte als onderdeel van een project om een ​​scripttaal te creëren voor het oplossen van systeembeheerproblemen in het Amoeba-besturingssysteem, dat van een hoger niveau zou zijn dan C, maar, in tegenstelling tot de Bourne-shell, gemakkelijker toegang zou bieden tot OS-systeemaanroepen.

De naam voor het project is gekozen ter ere van de comedygroep Monty Python. De eerste versie introduceerde ondersteuning voor klassen met overerving, afhandeling van uitzonderingen, een modulesysteem en de lijst met basistypen, dict en str. De implementatie van modules en uitzonderingen is ontleend aan de Modula-3-taal, en de op inspringen gebaseerde codeerstijl van de ABC-taal, waaraan Guido eerder heeft bijgedragen.

Bij het maken van Python liet Guido zich leiden door de volgende principes:

  • Principes die tijd hebben bespaard tijdens de ontwikkeling:
    • Nuttige ideeën lenen van andere projecten.
    • Het streven naar eenvoud, maar zonder al te veel simplificatie (Einsheins principe “Alles moet zo eenvoudig mogelijk worden gezegd, maar niet eenvoudiger”).
    • Volgens de UNUX-filosofie, volgens welke programma's één functionaliteit implementeren, maar deze ook goed doen.
    • Maak je niet al te veel zorgen over de prestaties; optimalisaties kunnen indien nodig worden toegevoegd.
    • Probeer niet te vechten tegen de heersende dingen, maar ga met de stroom mee.
    • Vermijd perfectionisme; meestal is het niveau ‘goed genoeg’ voldoende.
    • Soms kunnen er bochten worden afgesneden, vooral als er later nog iets aan gedaan kan worden.
  • Andere principes:
    • De implementatie hoeft niet platformspecifiek te zijn. Sommige functies zijn mogelijk niet altijd beschikbaar, maar de basisfunctionaliteit zou overal moeten werken.
    • Belast gebruikers niet met onderdelen die machinaal kunnen worden verwerkt.
    • Ondersteuning en promotie van platformonafhankelijke gebruikerscode, maar zonder de toegang tot de mogelijkheden en kenmerken van de platforms te beperken.
    • Grote complexe systemen moeten meerdere uitbreidingsniveaus bieden.
    • Fouten mogen niet fataal en onopgemerkt blijven; de gebruikerscode moet fouten kunnen opsporen en afhandelen.
    • Fouten in de gebruikerscode mogen de functionaliteit van de virtuele machine niet beïnvloeden en mogen niet leiden tot ongedefinieerd tolkgedrag en procescrashes.

    Bron: opennet.ru

Voeg een reactie