Blog.hr

Python dan


Python je moj omiljeni jezik, ali ne bavim se njime onoliko koliko bih to volio. Bruce Eckel, koji je poznat po svojim Thinking in C++ i Thinking in Java knjigama, zadnjih par godina misli na Pythonu. Python je njegov izbor jer smatra da on programeru omogućava da bude najproduktivniji za razliku od drugih jezika gdje su uvijek prisutni kompromisi između performansi, dizajna i prijateljstva prema programeru. :-)

Python je skriptni jezik, interpreter, ima mogućnost prevođenja u byte kod, ali i u klasične izvršne datoteke (py2exe). Prvi kamen spoticanja svim programerima je malo neobična organizacija koda jer se uz pomoć razmaka (ili tabova) određuje početak klasa, funkcija ili blokova koda za razliku od ostalih jezika u kojima se u tu svrhu koriste zagrade (najčešće {}) ili ključne riječi (BEGIN, END). Python vas tjera da pišete uredan kod i neuredni programeri će mu prije ili kasnije na tome biti zahvalni jer kod se jednom piše, a mnogo puta čita i ispravlja. Mene je upravo "ružan" kod otjerao od Perla.

Brzina pisanja koda i jednostavnost su odlike Pythona. Biblioteka modula koja dolazi u osnovnoj instalaciji je dosta bogata i omogučit će vam jednostavno rješavanje različitih zadataka. Python možete koristiti kao pseudokod u kojem ćete opisati rješenje problema i onda samo nadopisati kod koji će taj problem i riješiti. Upravo zbog svega toga je Python idealan jezik za učenje programiranja. Iz raznih škola bi konačno trebalo izbaciti Pascal i uvesti Python jer on omogućava učenje svih principa i metoda modernog programiranja, uključujući i ekstremno programiranje. Budući da Python omogućava vrlo brzo dolaženje do rezultata i rješavanje različitih problema, bio bi idealan za nestrpljive učenike koji brzo izgube interes učeći ključne riječi da bi tek nakon dugo vremena došli do konkretnih rezultata. Uz korištenje izvrsne PyGame biblioteke marljiviji učenici mogli bi obogatiti ponudu na domaćem tržištu edukativnih programa i na taj način bi vrlo rano stekli dragocjeno iskustvo na 'real world' projektima.

Jedan od glavnih argumenata protiv Python je brzina (tj. sporost) izvršavanja. U većini slučajeva ta brzina nije kritična. Jasno je da u njemu nećete pisati novi operativni sustav. Ako Python koristite za korisničko sučelje prema nekoj bazi podataka vaša aplikacija će biti brža i agilnija od neke Java aplikacije, a kako će za isti zadatak trebati manje koda, Python programer će biti i brži od Java programera. Da se uz Python ne mora vezati pridjev sporo svjedoči i Google, dobar dio koda za tu tražilicu napisan je upravo u Pythonu.

Python kod će se izvršavati ne cijelom nizu različitih platformi, a ako je pažljivije napisan neće trebati nikakve izmjene prilikom prenošenja s jedne na drugu platformu. Za standardno grafičko sučelje Python koristi Tkinter modul koji je sučelje prema TkGUI alatu. Sve je popularniji wxPython kojeg sam neko vrijeme i ja koristio, ali sada se sve više okrećem PyGTK-u jer se GTK koristi i u nekim drugim alatima koje pomalo škicam (Mono, D).

Na Python.org možete skinuti osnovnu inačicu i dokumentaciju. Uz Python dolazi izvrstan tutorial. Vault of Parnassus je imenik programa i modula napisanih u Pythonu. Dnevne dozu Python linkova možete dobiti na Daily Python-URL stranicama. O'Reilly ONLamp.com Python Devcenter i Starhip Python su vrlo korisni linkovi, a Dive Into Python je jedna izvrsna knjiga za iskusne programere. I još je na raspolaganju za slobodno preuzimanje. Želite li programirati u Pythonu, a koristiti Java i Mono/.NET platforme? Za Vas su Jython i IronPython.

O Pythonu bi se dalo napisati toliko toga, ali ionako je ovaj blogačak malo predug. U planu je pokretanje stranica posvećenih Pythonu, a do onda svoja pitanja preusmjerite na Programiranje.Net forum.

Ako ste početnik i željeli bi naučiti programirati nemojte nasjedati na loše savjete i početi s VisualBasic-om, Pascalom ili čak s JavaScriptom kojeg neki dobronamjernici predlažu. Python je zacijelo najbolji izbor za vas i najbrži put do prvih rezultata. Samo je potrebno uključiti male, sive, moždane stanice. Ako ih ne namjeravate buditi iz sna onda ipak uzmite VB i klikajući iz crackiranih OCX kontrola stvarajte svoje aplikacije.