20. február 1991-án Guido van Rossum az alt.sources csoportban publikálta a Python programozási nyelv első kiadását, amelyen 1989 decembere óta dolgozott egy szkriptnyelv létrehozására irányuló projekt részeként a rendszeradminisztrációs problémák megoldására. az Amoeba operációs rendszer, amely magasabb szintű lenne, mint a C, de a Bourne shelltől eltérően kényelmesebb hozzáférést biztosítana az OS rendszerhívásokhoz.
A projekt nevét a Monty Python vígjátékcsoport tiszteletére választották. Az első verzió bevezette az örökléssel, kivételkezeléssel, modulrendszerrel, valamint az alaptípuslistával, dict és str-vel rendelkező osztályok támogatását. A modulok és kivételek megvalósítását a Modula-3 nyelvből, a behúzás alapú kódolási stílust pedig az ABC nyelvből kölcsönöztük, amihez korábban Guido is hozzájárult.
A Python létrehozásakor Guidót a következő elvek vezérelték:
- A fejlesztés során időt takarító elvek:
- Hasznos ötletek kölcsönzése más projektekből.
- Az egyszerűségre való törekvés, de túlzott leegyszerűsítés nélkül (Einshein elve: „Mindent a lehető legegyszerűbben kell megfogalmazni, de nem egyszerűbben”).
- Az UNUX filozófiáját követve, miszerint a programok egy funkcionalitást valósítanak meg, de jól csinálják.
- Ne aggódjon túl sokat a teljesítmény miatt, szükség esetén optimalizálni lehet.
- Ne küzdj az uralkodó dolgok ellen, hanem menj az árral.
- Kerülje a perfekcionizmust, általában elég az „elég jó” szint.
- Néha a sarkokat le lehet vágni, különösen, ha valamit később lehet csinálni.
- Egyéb elvek:
- A megvalósításnak nem kell platformspecifikusnak lennie. Előfordulhat, hogy egyes funkciók nem mindig állnak rendelkezésre, de az alapvető funkcióknak mindenhol működniük kell.
- Ne terhelje a felhasználókat olyan alkatrészekkel, amelyeket a gép kezelni tud.
- Platformfüggetlen felhasználói kód támogatása és népszerűsítése, de a platformok képességeihez és szolgáltatásaihoz való hozzáférés korlátozása nélkül.
- A nagy komplex rendszereknek többféle bővítési szintet kell biztosítaniuk.
- A hibák nem lehetnek végzetesek és nem észlelhetők – a felhasználói kódnak képesnek kell lennie a hibák elkapására és kezelésére.
- A felhasználói kód hibái nem befolyásolhatják a virtuális gép működését, és nem vezethetnek meghatározatlan értelmezői viselkedéshez és folyamatösszeomláshoz.
Forrás: opennet.ru