Guido van Rossum publikoval 20. února 1991 ve skupině alt.sources první vydání programovacího jazyka Python, na kterém pracoval od prosince 1989 v rámci projektu vytvoření skriptovacího jazyka pro řešení problémů se správou systému v operační systém Amoeba, který by byl na vyšší úrovni než C, ale na rozdíl od Bourne shellu by poskytoval pohodlnější přístup k systémovým voláním OS.
Název pro projekt byl vybrán na počest komediální skupiny Monty Python. První verze zavedla podporu tříd s dědičností, zpracováním výjimek, modulovým systémem a základními typy list, dict a str. Implementace modulů a výjimek byla vypůjčena z jazyka Modula-3 a styl kódování založený na odsazení z jazyka ABC, na kterém se dříve podílel Guido.
Při vytváření Pythonu se Guido řídil následujícími principy:
- Principy, které šetří čas při vývoji:
- Půjčování užitečných nápadů z jiných projektů.
- Snaha o jednoduchost, ale bez přílišného zjednodušování (Einsheinův princip „Vše by mělo být řečeno co nejjednodušeji, ale ne jednoduše“).
- Podle filozofie UNUX, podle které programy implementují jednu funkcionalitu, ale dělají ji dobře.
- O výkon se příliš nebojte, v případě potřeby lze podle potřeby přidat optimalizace.
- Nesnažte se bojovat s převládajícími věcmi, ale jděte s proudem.
- Vyhněte se perfekcionismu, obvykle stačí úroveň „dost dobrý“.
- Někdy se dají řezat rohy, zvláště když se dá něco udělat později.
- Další zásady:
- Implementace nemusí být specifická pro platformu. Některé funkce nemusí být vždy dostupné, ale základní funkce by měly fungovat všude.
- Nezatěžujte uživatele díly, se kterými může stroj manipulovat.
- Podpora a propagace uživatelského kódu nezávislého na platformě, ale bez omezení přístupu k možnostem a funkcím platforem.
- Velké komplexní systémy musí poskytovat více úrovní expanze.
- Chyby by neměly být fatální a nezjištěné – uživatelský kód by měl být schopen zachytit a zpracovat chyby.
- Chyby v uživatelském kódu by neměly mít vliv na funkčnost virtuálního počítače a neměly by vést k nedefinovanému chování interpretu a pádům procesů.
Zdroj: opennet.ru