20. helmikuuta 1991 Guido van Rossum julkaisi alt.sources-ryhmässä ensimmäisen Python-ohjelmointikielen julkaisun, jonka parissa hän oli työskennellyt joulukuusta 1989 lähtien osana projektia luoda komentosarjakieli järjestelmän hallintaongelmien ratkaisemiseksi Amoeba-käyttöjärjestelmä, joka olisi korkeampi taso kuin C, mutta toisin kuin Bourne-kuori, tarjoaisi helpomman pääsyn käyttöjärjestelmän järjestelmäkutsuihin.
Projektin nimi valittiin komediaryhmä Monty Pythonin kunniaksi. Ensimmäinen versio esitteli tuen luokille, joissa oli periytyminen, poikkeusten käsittely, moduulijärjestelmä ja perustyyppiluettelo, dict ja str. Moduulien ja poikkeusten toteutus lainattiin Modula-3-kielestä ja sisennyspohjainen koodaustyyli ABC-kielestä, johon Guido osallistui aiemmin.
Pythonia luodessaan Guido ohjasi seuraavia periaatteita:
- Periaatteet, jotka säästävät aikaa kehityksen aikana:
- Lainaa hyödyllisiä ideoita muista projekteista.
- Yksinkertaisuuden tavoittelu, mutta ilman liiallista yksinkertaistamista (Einsheinin periaate "Kaikki tulee ilmaista mahdollisimman yksinkertaisesti, mutta ei yksinkertaisemmin").
- Noudattamalla UNUX-filosofiaa, jonka mukaan ohjelmat toteuttavat yhden toiminnallisuuden, mutta tekevät sen hyvin.
- Älä murehdi liikaa suorituskyvystä, optimointeja voidaan lisätä tarpeen mukaan.
- Älä yritä taistella vallitsevia asioita vastaan, vaan mene virran mukana.
- Vältä perfektionismia yleensä "riittävän hyvä" taso.
- Joskus kulmia voidaan leikata, varsinkin jos jotain voidaan tehdä myöhemmin.
- Muut periaatteet:
- Toteutuksen ei tarvitse olla alustakohtaista. Jotkut ominaisuudet eivät välttämättä ole aina käytettävissä, mutta perustoimintojen pitäisi toimia kaikkialla.
- Älä kuormita käyttäjiä osilla, joita kone voi käsitellä.
- Alustasta riippumattoman käyttäjäkoodin tuki ja mainostaminen, mutta rajoituksetta käyttöympäristöjen ominaisuuksiin ja ominaisuuksiin.
- Suurien monimutkaisten järjestelmien on tarjottava useita laajennustasoja.
- Virheet eivät saa olla kohtalokkaita ja havaitsemattomia – käyttäjäkoodin tulee pystyä havaitsemaan ja käsittelemään virheet.
- Käyttäjäkoodin virheet eivät saisi vaikuttaa virtuaalikoneen toimivuuteen, eivätkä ne saa johtaa määrittelemättömään tulkin toimintaan ja prosessien kaatumisiin.
Lähde: opennet.ru
