Më 20 shkurt 1991, Guido van Rossum botoi në grupin alt.sources botimin e parë të gjuhës programuese Python, për të cilën ai kishte punuar që nga dhjetori 1989 si pjesë e një projekti për të krijuar një gjuhë skriptimi për zgjidhjen e problemeve të administrimit të sistemit në sistemi operativ Amoeba, i cili do të ishte i një niveli më të lartë se C, por, ndryshe nga guaska Bourne, do të ofronte akses më të përshtatshëm në thirrjet e sistemit OS.
Emri për projektin u zgjodh për nder të grupit komedi Monty Python. Versioni i parë prezantoi mbështetje për klasat me trashëgimi, trajtimin e përjashtimeve, një sistem modulesh dhe listën e llojeve bazë, dict dhe str. Zbatimi i moduleve dhe përjashtimeve u huazua nga gjuha Modula-3, dhe stili i kodimit të bazuar në dhëmbëzim nga gjuha ABC, për të cilën Guido kontribuoi më parë.
Kur krijoi Python, Guido u udhëhoq nga parimet e mëposhtme:
- Parimet që kursejnë kohë gjatë zhvillimit:
- Huazimi i ideve të dobishme nga projekte të tjera.
- Kërkimi i thjeshtësisë, por pa thjeshtim të tepruar (parimi i Einshein-it "Gjithçka duhet thënë sa më thjeshtë, por jo më e thjeshtë").
- Duke ndjekur filozofinë UNUX, sipas së cilës programet zbatojnë një funksionalitet, por e bëjnë mirë.
- Mos u shqetësoni shumë për performancën, optimizimet mund të shtohen sipas nevojës kur nevojitet.
- Mos u përpiqni të luftoni gjërat mbizotëruese, por shkoni me rrjedhën.
- Shmangni perfeksionizmin; zakonisht niveli "mjaft i mirë" është i mjaftueshëm.
- Ndonjëherë qoshet mund të priten, veçanërisht nëse diçka mund të bëhet më vonë.
- Parime të tjera:
- Zbatimi nuk ka nevojë të jetë specifik për platformën. Disa veçori mund të mos jenë gjithmonë të disponueshme, por funksionaliteti bazë duhet të funksionojë kudo.
- Mos i ngarkoni përdoruesit me pjesë që mund të trajtohen nga një makinë.
- Mbështetje dhe promovim i kodit të përdoruesit të pavarur nga platforma, por pa kufizuar aksesin në aftësitë dhe veçoritë e platformave.
- Sistemet e mëdha komplekse duhet të ofrojnë nivele të shumta zgjerimi.
- Gabimet nuk duhet të jenë fatale dhe të pazbuluara - kodi i përdoruesit duhet të jetë në gjendje të kapë dhe trajtojë gabimet.
- Gabimet në kodin e përdoruesit nuk duhet të ndikojnë në funksionalitetin e makinës virtuale dhe nuk duhet të çojnë në sjellje të papërcaktuara të interpretuesit dhe ndërprerje të procesit.
Burimi: opennet.ru