20. februára 1991 Guido van Rossum v skupine alt.sources zverejnil prvú verziu programovacieho jazyka Python, na ktorom pracoval od decembra 1989 v rámci projektu vytvorenia skriptovacieho jazyka na riešenie úloh systémovej správy v operačnom systéme Amoeba, ktorý by bol na vyššej úrovni ako C, ale na rozdiel od Bourne shell by poskytoval jednoduchší prístup k systémovým volaniam OS.
Názov projektu bol zvolený na počesť komediálnej skupiny Monty Python. V prvej verzii bola implementovaná podpora tried s dedičstvom, spracovanie výnimiek, systém modulov a základné typy list, dict a str. Implementácia modulov a výnimiek bola prevzatá z jazyka Modula-3, zatiaľ čo štýl kódovania založený na odsadení bol z jazyka ABC, na ktorého vývoji sa Guido predtým podieľal.
Pri vytváraní Pythonu sa Guido riadil nasledujúcimi princípmi:
- Princípy, ktoré umožnili ušetriť čas pri vývoji:
- Preberanie užitočných myšlienok z iných projektov.
- Túžba po jednoduchosti, ale bez nadmerného zjednodušenia (Einsteinov princíp "Všetko musí byť vyjadrené čo najjednoduchšie, ale nie jednoduchšie").
- Dodržiavanie filozofie UNUX, podľa ktorej programy realizujú nejakú jednu funkčnosť, ale robia to dobre.
- Nemať prílišné obavy o výkon, optimalizácie je možné pridávať podľa potreby, keď sú potrebné.
- Nesnažiť sa bojovať so zavedenými vecami, ale prúdiť s tokom.
- Vyhnúť sa perfekcionizmu, zvyčajne stačí úroveň "dostatočne dobré".
- Niekedy je možné skrátiť rohy, najmä ak niečo možno urobiť neskôr.
- Ostatné princípy:
- Implementácia by nemala byť viazaná na konkrétnu platformu. Niektoré funkcie môžu byť dostupné nie vždy, ale základná funkčnosť by mala fungovať všade.
- Nepreťažovať používateľov detailmi, ktoré môže spracovať stroj.
- Podpora a propagácia multiplatformového používateľského kódu, ale bez obmedzenia prístupu k možnostiam a špecifikám platforiem.
- Veľké zložité systémy by mali poskytovať niekoľko úrovní na rozšírenie.
- Chyby by nemali byť fatálne a nezaznamenané - používateľský kód by mal mať možnosť zachytiť a spracovať chyby.
- Chyby v užívateľskom kóde by nemali ovplyvňovať funkčnosť virtuálneho stroja a nemali by viesť k neurčitému správaniu interpretátora a pádu procesov.
Zdroj: opennet.ru
