Më 20 shkurt 1991, Guido van Rossum publikoi numrin e parë të gjuhës së programimit Python në grupin alt.sources, mbi të cilin kishte punuar që nga dhjetori i vitit 1989 në kuadër të një projekti për krijimin e një gjuhe skritpuese për zgjidhjen e detyrave të administratës sistemore në sistemin operativ Amoeba, që do të ishte më e avancuar se C, por, ndryshe nga Bourne shell, do të ofronte një qasje më të lehtë në thirrjet sistemike të OS-së.
Emri për projektin u zgjodh në nder të grupit komik Monty Python. Në versionin e parë u realizua mbështetje për klasa me trashëgimi, trajtimi i përjashtimeve, sistemi i moduleve dhe tipet bazë list, dict dhe str. Realizimi i moduleve dhe përjashtimeve u huazua nga gjuha Modula-3, dhe stili i kodimit, i bazuar në hapësira, nga gjuha ABC, në zhvillimin e së cilës Guido kishte kontribuar më parë.
Në procesin e krijimit të Python, Guido u udhëhoq nga këto principe:
- Parimet që ndihmuan për të kursyer kohë gjatë zhvillimit:
- Huazimi i ideve të dobishme nga projekte të tjera.
- Evolucioni drejt thjeshtësisë, por pa e tepruar (principi i Einshteinit: "Të gjitha duhet të shpjegohen sa më thjesht, por jo më thjesht se kaq").
- Të ndiqet filozofia UNUX, sipas së cilës programet realizojnë një funksionalitet të vetëm, por e bëjnë këtë mirë.
- Të mos u shqetësohet shumë për performancën, optimizimi mund të shtohet sipas nevojës, kur të jetë e nevojshme.
- Të mos përpiqet të luftojë me gjërat e ndara, por të notojë me rrjedhën.
- Të shmanget perfeksionizmi, zakonisht mjafton niveli "mjaftueshëm mirë".
- Disa herë mund të priten këndet, veçanërisht nëse diçka mund të bëhet më vonë.
- Parimet e tjera:
- Implementimi nuk duhet të jetë i lidhur me një platformë të caktuar. Disa funksionalitete mund të mos jenë gjithmonë të disponueshme, por funksionaliteti bazë duhet të funksionojë gjithandej.
- Të mos ngarkoni përdoruesit me detaje, të cilat mund të ndërmerren nga makina.
- Mbështetje dhe promovim i kodit të përdoruesit të pavarur nga platforma, por pa kufizuar aksesin në mundësitë dhe veçoritë e platformave.
- Sistemet e mëdha dhe të komplikuara duhet të ofrojnë disa nivele për zgjerim.
- Gabimet nuk duhet tĂ« jenĂ« fatale dhe tĂ« kalojnĂ« pa u vĂ«nĂ« re â kodi i pĂ«rdoruesit duhet tĂ« ketĂ« mundĂ«sinĂ« tĂ« kapĂ« dhe tĂ« trajtojĂ« gabimet.
- Gabimet në kodin e përdoruesit nuk duhet të ndikojnë në funksionalitetin e makinë virtuale dhe nuk duhet të çojnë në sjellje të papërcaktuar të interpretorit dhe në dështimin e proceseve.
Burimi: opennet.ru
