Python puni 30 godina

Guido van Rossum je 20. februara 1991. objavio u grupi alt.sources prvo izdanje programskog jezika Python, na kojem je radio od decembra 1989. u sklopu projekta stvaranja skriptnog jezika za rješavanje problema administracije sistema u operativni sistem Amoeba, koji bi bio višeg nivoa od C, ali bi, za razliku od Bourne školjke, omogućio praktičniji pristup sistemskim pozivima OS-a.

Naziv za projekat izabran je u čast komičarske grupe Monty Python. Prva verzija uvela je podršku za klase sa nasljeđivanjem, rukovanje izuzecima, sistem modula i listu osnovnih tipova, dict i str. Implementacija modula i izuzetaka je pozajmljena iz jezika Modula-3, a stil kodiranja zasnovanog na uvlačenju iz ABC jezika, čemu je Guido prethodno doprineo.

Prilikom kreiranja Pythona, Guido se vodio sljedećim principima:

  • Principi koji su uštedeli vreme tokom razvoja:
    • Pozajmljivanje korisnih ideja iz drugih projekata.
    • Težnja za jednostavnošću, ali bez prevelikog pojednostavljivanja (Einsheinov princip „Sve treba izreći što jednostavnije, ali ne jednostavnije“).
    • Slijedeći UNUX filozofiju, prema kojoj programi implementiraju jednu funkcionalnost, ali to dobro rade.
    • Ne brinite previše o performansama, optimizacije se mogu dodati po potrebi kada je potrebno.
    • Ne pokušavajte da se borite protiv preovlađujućih stvari, već idite uz tok.
    • Izbjegavajte perfekcionizam; obično je dovoljan nivo „dovoljno dobar“.
    • Ponekad se uglovi mogu rezati, posebno ako se nešto može uraditi kasnije.
  • Ostali principi:
    • Implementacija ne mora biti specifična za platformu. Neke funkcije možda nisu uvijek dostupne, ali osnovna funkcionalnost bi trebala raditi svuda.
    • Ne opterećujte korisnike delovima kojima mašina može da rukuje.
    • Podrška i promocija korisničkog koda nezavisnog od platforme, ali bez ograničavanja pristupa mogućnostima i karakteristikama platformi.
    • Veliki složeni sistemi moraju da obezbede više nivoa ekspanzije.
    • Greške ne bi trebale biti fatalne i neotkrivene – korisnički kod bi trebao biti u stanju uhvatiti i rukovati greškama.
    • Greške u korisničkom kodu ne bi trebale uticati na funkcionalnost virtuelne mašine i ne bi trebale da dovedu do nedefinisanog ponašanja tumača i rušenja procesa.

    izvor: opennet.ru

Dodajte komentar