20. veebruaril 1991 avaldas Guido van Rossum uudisterĂŒhmas alt.sources programmeerimiskeele Python esimese versiooni, mille kallal ta oli töötanud alates 1989. aasta detsembrist. See oli osa projektist luua skriptikeel sĂŒsteemihaldusĂŒlesannete lahendamiseks operatsioonisĂŒsteemis Amoeba â keel, mis oleks kĂ”rgema tasemega kui C, kuid pakuks erinevalt Bourne shellist mugavamat juurdepÀÀsu operatsioonisĂŒsteemi sĂŒsteemikutsetele.
Projekti nimi valiti komöödiatrupi Monty Python jĂ€rgi. Esimeses versioonis oli juba olemas klasside ja pĂ€riluse tugi, erindite kĂ€sitlemine, moodulisĂŒsteem ning pĂ”hitĂŒĂŒbid list, dict ja str. Moodulite ja erindite teostus laenati keelest Modula-3 ning taandel pĂ”hinev kodeerimisstiil keelest ABC, mille arenduses Guido oli varem samuti osalenud.
Pythoni loomisel lÀhtus Guido jÀrgmistest pÔhimÔtetest:
- PÔhimÔtted, mis aitasid arenduses aega sÀÀsta:
- Kasulike ideede laenamine teistest projektidest.
- PĂŒĂŒelda lihtsuse poole, kuid mitte liigse lihtsustamise hinnaga (Einsteini pĂ”himĂ”te: âKĂ”ik peab olema esitatud nii lihtsalt kui vĂ”imalik, kuid mitte lihtsamaltâ).
- UNIX-i filosoofia jĂ€rgimine, mille kohaselt programmid tĂ€idavad ĂŒht kindlat ĂŒlesannet, kuid teevad seda hĂ€sti.
- Mitte muretseda liigselt jĂ”udluse pĂ€rast â optimeerimist saab lisada vajaduse korral siis, kui seda tĂ”esti tarvis on.
- Mitte pĂŒĂŒda vĂ”idelda vĂ€ljakujunenud asjadega, vaid minna vooluga kaasa.
- VĂ€ltida perfektsionismi â enamasti piisab ka tasemest âpiisavalt heaâ.
- MÔnikord vÔib teha mööndusi, eriti kui midagi saab ellu viia hiljem.
- ĂlejÀÀnud pĂ”himĂ”tted:
- Teostus ei tohiks olla seotud konkreetse platvormiga. MÔned vÔimalused ei pruugi alati saadaval olla, kuid pÔhifunktsionaalsus peab töötama kÔikjal.
- Kasutajaid ei tohiks koormata ĂŒksikasjadega, mille töötlemise saab masin enda peale vĂ”tta.
- Platvormist sÔltumatu kasutajakoodi toetamine ja edendamine, kuid ilma platvormide vÔimalustele ja eripÀradele juurdepÀÀsu piiramata.
- Suured ja keerukad sĂŒsteemid peaksid pakkuma laiendamiseks mitut taset.
- Veakad olukorrad ei tohiks olla fataalsed ega mĂ€rkamata jÀÀda â kasutajakoodil peab olema vĂ”imalus vead kinni pĂŒĂŒda ja neid töödelda.
- Kasutajakoodi vead ei tohi mÔjutada virtuaalmasina funktsionaalsust ega pÔhjustada interpretaatori mÀÀramatut kÀitumist ja protsesside krahhi.
Allikas: opennet.ru
