Python fyller 30 år

Den 20 februari 1991 publicerade Guido van Rossum i alt.sources-gruppen den första utgåvan av programmeringsspråket Python, som han hade arbetat med sedan december 1989 som en del av ett projekt för att skapa ett skriptspråk för att lösa systemadministrationsproblem i operativsystemet Amoeba, som skulle vara på en högre nivå än C, men, till skillnad från Bourne-skalet, skulle ge mer bekväm åtkomst till OS-systemanrop.

Namnet på projektet valdes för att hedra komedigruppen Monty Python. Den första versionen introducerade stöd för klasser med arv, undantagshantering, ett modulsystem och bastyperna list, dict och str. Implementeringen av moduler och undantag lånades från Modula-3-språket, och den indragsbaserade kodningsstilen från ABC-språket, som Guido tidigare bidragit till.

När han skapade Python vägleddes Guido av följande principer:

  • Principer som sparade tid under utveckling:
    • Låna användbara idéer från andra projekt.
    • Strävan efter enkelhet, men utan alltför förenkling (Einsheins princip "Allt ska uttryckas så enkelt som möjligt, men inte enklare").
    • Följer UNUX-filosofin, enligt vilka program implementerar en funktion, men gör det bra.
    • Oroa dig inte för mycket om prestanda, optimeringar kan läggas till vid behov när det behövs.
    • Försök inte att bekämpa de rådande sakerna, utan gå med strömmen.
    • Undvik perfektionism, vanligtvis räcker nivån "tillräckligt bra".
    • Ibland kan hörn skäras, speciellt om något kan göras senare.
  • Andra principer:
    • Implementeringen behöver inte vara plattformsspecifik. Vissa funktioner kanske inte alltid är tillgängliga, men grundläggande funktionalitet bör fungera överallt.
    • Belasta inte användare med delar som kan hanteras av en maskin.
    • Support och marknadsföring av plattformsoberoende användarkod, men utan att begränsa åtkomsten till plattformarnas möjligheter och funktioner.
    • Stora komplexa system måste ge flera expansionsnivåer.
    • Fel bör inte vara ödesdigra och oupptäckta – användarkoden ska kunna fånga upp och hantera fel.
    • Fel i användarkoden ska inte påverka den virtuella maskinens funktionalitet och ska inte leda till odefinierat tolkbeteende och processkrascher.

    Källa: opennet.ru

Lägg en kommentar