20. februar 1991 je Guido van Rossum v skupini alt.sources objavil prvo izdajo programskega jezika Python, na katerem je delal od decembra 1989 v okviru projekta za razvoj skripting jezika za reševanje sistemskih upravljalskih nalog v operacijskem sistemu Amoeba, ki bi bil na višji ravni kot C, vendar v nasprotju z Bourne shell, bi nudil boljši dostop do sistemskih klicev OS.
Ime projekta je bilo izbrano v čast komični skupini Monty Python. V prvi različici je bila implementirana podpora razredom z dedovanjem, obdelava izjem, sistem modulov ter osnovni tipi list, dict in str. Implementacija modulov in izjem je bila povzeta iz jezika Modula-3, stil programiranja z odstavki pa iz jezika ABC, pri razvoju katerega je Guido prej sodeloval.
Pri razvoju Pythona je Guido sledil naslednjim načelom:
- Načela, ki so omogočila prihranek časa pri razvoju:
- Povzemanje koristnih idej iz drugih projektov.
- Težnja k preprostosti, vendar brez pretiranega poenostavljanja (princip Einsteina: "Vse je treba predstaviti tako preprosto, kot je mogoče, vendar ne preprosteje").
- Sledenje filozofiji UNUX, po kateri programi izvajajo eno samo funkcionalnost, vendar to počnejo dobro.
- Ne skrbeti preveč za zmogljivost; optimizacije se lahko dodajajo po potrebi.
- Ne truditi se, da bi se borili z uveljavljenimi stvarmi, temveč pluti s tokom.
- Izogibanje perfekcionizmu; običajno je dovolj raven "dovolj dobro".
- Včasih je možno malo skrajšati, še posebej, če se lahko nekaj opravi pozneje.
- Ostala načela:
- Implementacija ne sme biti vezana na posebno platformo. Nekatere možnosti morda ne bodo vedno na voljo, vendar mora osnovna funkcionalnost delovati povsod.
- Ne obremenjevati uporabnike z podrobnostmi, ki jih lahko obdeluje stroj.
- Podpora in promocija platformno neodvisnega uporabniškega kode, vendar brez omejevanja dostopa do zmogljivosti in posebnosti platform.
- Velike kompleksne sisteme je treba oblikovati z več nivoji za razširitev.
- Napake ne smejo biti usodne in neopažene — uporabniški kod mora imeti možnost ujete in obdelati napake.
- Napake v uporabniškem kodu ne smejo vplivati na funkcionalnost virtualnega stroja in ne smejo povzročiti nedoločenega vedenja interpreterja ter zrušitev procesov.
Izvor: opennet.ru
