1991. február 20-án Guido van Rossum közzétette a Python programozási nyelv első verzióját az alt.sources csoportban, amelyen 1989 decemberétől dolgozott egy olyan szkriptnyelv létrehozása keretében, amely a rendszeradminisztrációs feladatok megoldására alkalmas lenne az Amoeba operációs rendszerben, magasabb szintű lenne mint a C, de a Bourne shell-től eltérően kényelmesebb hozzáférést biztosítana az operációs rendszer rendszerhívásaihoz.
A projekt neve a Monty Python komikus csoportról származik. Az első verzióban megvalósították a klasszifikációk öröklődésének támogatását, a kivételkezelést, a modulrendszert és az alapvető list, dict és str típust. A modulok és a kivételek megvalósítása a Modula-3 nyelvből származott, míg a behúzások alapú kódolás stílusát az ABC nyelvből merítették, amelynek fejlesztésében Guido korábban részt vett.
A Python létrehozása során Guido a következő alapelveket követte:
- Az alapelvek, amelyek hozzájárultak a fejlesztési idő megtakarításához:
- Hasznos ötletek átvétele más projektektől.
- A simple but not oversimplified approach (Einstein elve: 'Mindent a lehető legegyszerűbben kell elmondani, de nem egyszerűbben').
- Az UNUX filozófiájának követése, amely szerint a programok egyetlen funkciót valósítanak meg, de azt jól.
- Nem aggódni túlzottan a teljesítmény miatt, az optimalizálást szükség szerint lehet hozzáadni, amikor szükség van rá.
- Nem próbálkozni a bejáratott dolgok ellenállásával, hanem a folyamatokkal együtt haladni.
- Kerülni a perfekcionizmust, általában elég a 'megfelelően jó' szint.
- Néha érdemes kicsit lazítani, különösen, ha valamit később lehet megtenni.
- A többi alapelv:
- A megvalósításnak nem szabad konkrét platformhoz kötődnie. Egyes funkciók nem mindig állnak rendelkezésre, de az alapvető funkcióknak mindenhol működniük kell.
- A felhasználókat ne terheljük a részletekkel, amelyek feldolgozását a gép át tudja venni.
- A platformfüggetlen felhasználói kód támogatása és népszerűsítése, de a platformok lehetőségeihez hozzáférést is kell biztosítani.
- A nagy, összetett rendszereknek több szintű bővíthetőséget kell biztosítaniuk.
- A hibák nem lehetnek fatálisak és észrevétlenek — a felhasználói kódnak képesnek kell lennie a hibák elfogására és feldolgozására.
- A felhasználói kód hibáinak nem szabad befolyásolniuk a virtuális gép működését, és nem szabad előidézniük az interpreter nem meghatározott viselkedését, valamint a folyamatok összeomlását.
Forrás: opennet.ru
