You are on page 1of 14

Python: absolutny wstp do mylenia w

oglnym jzyku programowania


Dostpnych dzi na rynku IT jzykw programowania mamy podobno wicej ni
uywanych obecniena wieciejzykw naturalnych! "ednak spord duej grupy jzykw
tworzonych przez lata po dzi dzie# przetrwa$y tylko niektre! Programici uywaj% ich na
co dzie# do najrniejszych celw: tworzenia witryn internetowych& aplikacji desktopowych&
skryptw administracyjnych& oprogramowywania rnych urz%dze#& a nawet tworzenia
innych jzykw programowania! "ednym zezwyciskich& ktry przetrwa$ po dzie# dzisiejszy
i zjedna$ sobieserca wielu programistw& jest Python! Przyjrzyjmy si mu dzisiaj troszk
bliej!
'pis treci:
1. Konkurenci lat 90.
2. Jzyki skryptowe
3. Dziedzictwo Pythona
4. ele !zyka i ich realizac!a
". Kto i do cze#o u$ywa Pythona%
&. o z pro#ra'owanie' aplikac!i internetowych%
(. )dzie hostowa*%
+. ,arzdzia dla pro#ra'ist-w
9. o z ./0a'i%
10. 1iteratura i 2r-d3a wiedzy
11. Przeciwnicy Pythona
12. 4ako5czenie
(onkurenci lat )*!
4ani' zacznie'y przy#l6da* si sa'e'u !zykowi7 spo!rzy!'y kilkana8cie lat wstecz. Jako
'achin czasu wykorzysta!'y ty' raze' plakat stworzony przez 9:reilly7 ukazu!6cy histori
#3-wnych !zyk-w pro#ra'owania.
+ysunek ,! -ogo jzyka Python! .iebieski i $ty w% splecionezesob%!
Pa#e 1 o; 14 Python< a=solutny wstp do 'y8lenia w o#-lny' !zyku pro#ra'owania
201301100& http<>>we=hostin#.pl>print>Python.a=solutny.wstep.do.'yslenia.w.o#ol?ny'.!ezyku.pr...
Jak wida na wykresie, pocztki jzyka Python datuje si na rok 1991. Przyjrzyjmy si, jakie
jzyki programowania istniay w tym czasie. aj!"i#szym ssiadem jest dziecko ik"ausa $irtha
% &or"and Pasca", jzyk programowania su#cy g'wnie ce"om edukacyjnym ( dzi) u#ywany
g'wnie w gimnazjach i "iceach, wci# o!ecny duchem w popu"arnym i majcych wci# swoich
zwo"ennik'w jzyku *e"phi.
+roszeczk ni#ej widzimy jzyk !ank'w % ,-&-.. /tworzony d"a zastosowa0 ekonomicznych i
!iznesowych jest !ardzo wsko specja"izowanym jzykiem programowania. 1reszt nie ty"ko on.
*wie dugie "inie poni#ej, , i ,22 to e3ekt po"ityki wyposa#ania ucze"ni 4meryka0skich w
system 5ni6. /tudenci ko0czcy je rozwija"i ten system, piszcprogramy wa)nie w jzyku , %
wymusi"i wicnie jako stosowanie tego jzyka na swoich pracodawcach. /td tak wie"ka jego
popu"arno) oraz du#a i"o) powstaego oprogramowania.
Poni#ej widzimy dziecko 7icroso3tu % 8isua" &asic. Jzyk wywodzcy si, jak z samej nazwy
wynika, z &asica, jzyk modo)ci &i""a 9atesa, w ko0cu jzyk czsto u#ywany w czasach systemu
*-/.
:nne dugie "inie to ;-<+<4 % z racji swojej dugowieczno)ci, z 3antastycznie przetestowanymi
!i!"iotekami do operacji matematycznych. 5#ywa si go po dzi) dzie0 g'wnie w )rodowiskach
naukowych g'wnie z racji niezawodnych i od "at sprawdzajcych si w praktyce !i!"iotek.
*a"ej widzimy Pro"og % jzyk przeznaczony do projektowania sztucznej inte"igencji =potra3icy
rozwizywa na przykad szarady> czy 4d, z racji posiadania 3unkcji 3orma"nego dowodzenia
poprawno)ci kodu, wykorzystywan w systemach krytycznych sektor'w takich jak? wojsko
medycyna czy energetyka.
"zyki skryptowe
Je#e"i do!rze si przyjrze, wszystkie jzyki, o kt'rych do tej pory wspomniaem, to g'wnie
wsko specja"izowane, kompi"owane jzyki programowania, majce zastosowanie w !ardzo
wskich, specja"izowanych dziedzinach takich jak? !ankowo), o!"iczenia naukowe, systemy
krytyczne czy nauka. Powstajcy wtedy jzyk Python !dcy jzykiem skryptowym
=niekompi"owanym> og'"nego zastosowania mia ty"ko dw'ch, gro@nych konkurent'w? powstay
w roku 19AA +c" ( +c"B+k oraz ty"ko o rok starszego Per"a.
ikt wtedy nie sysza jeszcze o tak dzi) popu"arny PCP =za danymi -Drei""y % jego start to rok
199E> czy <u!y =za danymi z -Drei""y z roku 199F>. $arto zwr'ci uwag na jeszcze jeden
dro!iazg. /trzaeczka Pythona zaczyna si w miejscu, w kt'rym ko0czy si #ywot jzyka 4&,.
ie !ez powodu? 9uido Gan <ossum, znany powszechnie jako tw'rca jzyka Python, !y si"nie
zaanga#owany w rozw'j wcze)niej wspomnianego jzyka. Po dzie0 dzisiejszy, przeg"dajc
tutoria"e do 4&,, przemknie nam imi 9uido.
Dziedzictwo Pythona
Po por'wnaniu jzyka Python z 4&, widzimy, #e odziedziczy on po nim wie"e konstrukcji
skadniowych, a"e spu)cizna Pythona jest znacznie wiksza. $ Pythonie mo#emy wykorzystywa
trzy paradygmaty programowania. Hto), kto dopiero zaczyna przygod z programowaniem, mo#e
Page I o3 1J Python? a!so"utny wstp do my)"enia w og'"nym jzyku programowania
IK1F(11(KL http?BBwe!hosting.p"BprintBPython.a!so"utny.wstep.do.mys"enia.w.ogo"Mnym.jezyku.pr...
zda si tym przera#ony, wyo!ra#ajcso!ie ogromny !aagan i !rak zrozumiao)ci kodu. 4"e nic
z tych rzeczy.
Rysunek 2. Paczki Pythona s rozprowadzane w postaci jajek (ang. eggs).
Jest to model dystrybucji zbliony do RP!.
*ziki swojej uniwersa"no)ci w tej dziedzinie Python znacznie zwiksza po"e, w kt'rym mo#e
zosta zastosowany. Paradygmat procedura"ny =dzie"enia kodu na 3unkcje> jest nieodzownym
podej)ciem do mode"owania zada0 matematycznych. +o wa)nie ta metoda, znacznie "epiej ni#
paradygmat o!iektowy, pozwa"a nam tworzenie wydajnych a"gorytm'w rozwizujcych
konkretne zagadnienie. 9dy doda do tego jeszcze mo#"iwo) tworzenia 3unkcji nienazwanych %
mamy komp"et nowoczesnych narzdzi do programowania procedura"nego.
-trzymujemy r'wnie# mo#"iwo) tworzenia k"as i o!iekt'w % czy"i paradygmat o!iektowy %
dziki czemu mo#emy sprawnie mode"owa 3ragmenty rzeczywisto)ci "u! system'w skadajcych
si na nasz ap"ikacj oraz korzysta ze wszystkich innych do!rodziejstw programowania
o!iektowego. *oceni to szczeg'"nie ,i tw'rcy oprogramowania, kt'rym przyszo pracowa w
wikszym zespo"e programist'w.
+o jednak nie koniec. $chodzcw meandry programowania o!iektowego, zahaczamy o
programowanie 3unkcyjne. +utaj, jzyki takiej jak Python, pokazuj pazur, dajcprogrami)cie
gar) )wietnych narzdzi do grze!ania w napisanym ju# programie. ,echa ta nazywana jest czsto
introspekcyjno)ci jzyka.
,ho to ty"ko niewie"ka cz) 3unkcjona"no)ci Pythona mo#"iwo)ci wycigania in3ormacji o
stworzonych 3unkcjach, o!iektach, k"asach czy jeszcze innych e"ementach jzyka za pomoc
odpowiednich 3unkcji % jest nieoceniona. ,zsto zwiksza r'wnie# poziom !ezpiecze0stwa kodu,
gdzie mo#emy unikn stosowania instrukcji takiej jak e6ec=> na rzecz znacznie !ezpieczniejszych
introspekcji.
Page F o3 1J Python? a!so"utny wstp do my)"enia w og'"nym jzyku programowania
IK1F(11(KL http?BBwe!hosting.p"BprintBPython.a!so"utny.wstep.do.mys"enia.w.ogo"Mnym.jezyku.pr...
Cele jzyka i ich realizacja
Czas uspokoi tych, dla ktrych to, co napisaem do tej pory, zaczo przypomina informatyczny
bekot. Python to jzyk programoania dla szystkich. Przyjrzyjmy si icjego czterem
podstaoym celom.
!. atwy i intuicyjny jzyk, ale jednoczenie rwnie potny jak jego konkurenci
"y mo#e dla ielu brzmi to jak pobo#ne #yczenie, a pomimo to $ udao si osi%gn% ten
cel. Cho soo proste i pot#ne mog% ydaa si przeciie&stami, to jzyk Python
%czy te die cechy. 'a prostot zostay ukierunkoane szystkie elementy skadni jzyka(
soa kluczoe, nazy funkcji, bibliotek czy choby zaznaczanie blok kodu przez
cicia. )e szystkich istniej%cych jzyk programoania, z ktrych czerpie Python,
zostao zebrane to, co czytelne, i zlepione razem, aby torzyo mo#liie najprostszy jzyk
programoania.
Potg mo#emy za* podziia majestacie liczby oraz jako*ci dostpnych do jzyka
bibliotek. )najdziemy tutaj szystko, czego dusza zapragnie. +lasy do obsugi sieci,
najr#niejszej ma*ci baz danych czy cae frameorki. 'aet biblioteki do symuloania
fizyki obiekt.
,. Bazujcy na Open Source kady !oe wnie" wk#ad do jego rozwoju
-okumentacja Pythona zaiera da du#e dziay po*icone pisaniu rozszerze& dla tego
jzyka. -opisa modu mo#e naprad ka#dy. .o#lio* implementoania noych
fukcjonalno*ci oraz otarto* zaoocoaa ogromn% liczb% dodatkoych bibliotek. /utaj
rnie# tki tajemnica impetu, z jakim rozija si jzyk. 0rono programist ochotnik
z caego *iata pracuje nad jzykiem programoania. 1ak ida $ jedno*ci sia.
Programuj%c Pythonie spotykamy si z bardzo nooczesnymi i czsto innoacyjnymi
konstrukcjami, rozi%zaniami na miar dzisiejszych czas. -ziki temu Python ua#any
jest za jzyk nie tylko elastyczny, ale tak#e nad%#aj%cy za trendami $ a konsekencji
nooczesny. 2iele osb pisz%cych moduy i biblioteki na asne potrzeby publikuje je
3ieci, zikszaj%ctym samym portfolio jzyka oraz liczb dostpnych narzdzi.
-odatkoym atutem, ktry spraia, #e kod projektoany z u#yciem jzyka Python jest
dobrej jako*ci, s% dokumenty( standaryzuj%ce styl pisania kodu P4P56 oraz filozofia, ktr%
rz%dzi si jzyk i poinien rz%dzi si programista nim pisz%cy $ legendarne ielu
krgach programist /he )en of Python. )rozumienie go pozala nie tylko rozstrzygn%
iele dylemat pod tytuem 7jak to zaprojektoa7 czy 7ktra implementacja jest lepsza7,
ale tak#e lepiej zrozumie, dlaczego Pythonie co* jest zrobione, tak a nie inaczej, i
dlaczego co* dziaa a*nie, tak a nie inny sposb.
8. $rozu!ia#y kod w pro%ty! angiel%ki!
/o kolejny element pyaj%cy na czytelno* jzyka. +od programu czyta si miejscami
jak ksi%#k napisan% bardzo prostym, przeplatanym yra#eniami logiczno5
matematycznymi, angielskim. 'aet tutaj ida, jak starannie zostay dobrane nazy, aby
nie uczyni jzyka niezrozumiaym lub cho troch bardziej skomplikoanym. 2ida to
byo na przykad przy refaktoryzacji jzyka zi%zanej z ydaniem Pythona 8. )goszono
propozycj usunicia konstrukcji input&raw'input na rzecz dubloania funkcjonalno*ci
Page 9 of !9 Python( absolutny stp do my*lenia oglnym jzyku programoania
,:!85!!5:; http(<<ebhosting.pl<print<Python.absolutny.step.do.myslenia..ogol=nym.jezyku.pr...
odpoiednich obiekt dostpnych module sys. >czyi*cie, konstrukcj pozostaiono,
argumentuj%cto zikszeniem prostoty i czytelno*ci jzyka.
9. Przydatno do rozmaitych codziennych celw, owocujca krtkim czasem
programowania
1e#eli brakuje ci kalkulatora z mo#lio*ci% ykonyania dziaa& na liczbach zespolonych,
chciaby* yrysoa szybko ykres jakie* funkcji, napisa prosty serer, storzy szybko
prost% itryn z panelem administracyjnym, modeloa jaki* algorytm, co* zaszyfroa
lub ykona jedn% z ielu innych drobnych rzeczy $ a masz dostp do komputera z
zainstaloanym Pythonem $ nicnie stoi na przeszkodzie, aby* mg go do tego
ykorzysta. -ziki konstrukcji jzyka ykonanie zadania yda si nie tylko proste, ale
tak#e przyjemne i cale nie zajmie iele czasu.
Czytaj%cto mogoby si ydaa, #e Python jest jzykiem dla przecitnego +oalskiego, ktry
yszed a*nie po gazet do kiosku i po porocie stierdzi, #e chciaby sobie napisa prosty
program, ktry ypisze mu funkcj trendu dla notoa& giedoych z ostatniego miesi%ca. ? tak
jest rzeczyisto*ci. ) jednej strony jzyk ten posiada prost% skadni, z drugiej ogrom bibliotek,
z ktrych rnie prosto korzysta. 2szystko dobrze opisane i udokumentoane. 'ie pozostaje
nicinnego, jak tylko pisa.
Kto i do czego uywa Pythona?
3koro ju# tak iele dobrego napisali*my o Pythonie, mogoby si nasun% pytanie $ czy ktra* z
poa#nych firm go ogle u#ya@ )acznijmy od najbardziej oczyistego przykadu.
Pradopodobnie miliony ludzi na *iecie nie zdaje sobie spray z tego, #e yszukuj%c
informacje 0oogle, u#ya mechanizm napisanych z u#yciem Pythona.
Page A of !9 Python( absolutny stp do my*lenia oglnym jzyku programoania
,:!85!!5:; http(<<ebhosting.pl<print<Python.absolutny.step.do.myslenia..ogol=nym.jezyku.pr...
Rysunek 3. Gwna witryna Centralnej Agencji Wywiadowczej. Skorzystanoz rozwizania
zaimlementowanegow !yt"onie # !lone w caej swojej okazao$ci.
Google stosuje Pythona rwnie w innych swoich projektach. Moemy sobie tylko wyobrazi,
przeglajc labs.google.com, czy ju wyane aplikacje ze stajni Google, jak wiele i jak barzo
z!oonych i skomplikowanych witryn jest tworzonych w tej "irmie. #ak rozbuowane i
skomplikowane aplikacje musz by w moliwie znacznym stopniu uproszczone, aby po latach
ko i intencja programisty, cel i przeznaczenie napisanych bibliotek, "unkcji, stworzonych
obiektw by! jasny i klarowny. Python naaje si$ tutaj iealnie.
Generalnie czas programisty jest roszy ni czas maszyny %cho zasaa ta nie musi otyczy
Google& ' tak wi$c skrcenie czasu programowania jest barzo korzystne la obu stron. (itryna
)*+ zbuowana jest zwykorzystaniem )M,-a Plone ' napisanego oczywi.cie w Pythonie. /$zyk
ten wykorzystywany jest rwnie w 0+,+ w *ntegracyjnym ,ystemie Planowania jako
stanarowy j$zyk skryptowy. #o nie wszystko. Pythona uywa rwnie (alt 1isney 2eature
+nimation o oskryptowywania animacji, zosta! wykorzystany take o napisania logiki
wewn$trznej %w tym rwnie sztucznej inteligencji& w grze )i3ilization *4, a nawet uyty przy
instalatorze +nacona ystrybucji 5e 6at 7inu8.
Coz rogramowaniem alikacji internetowyc"%
9g!$biajc zasoby ,ieci, tra"imy na wa "rameworki napisane w Pythonie. 5ni si$ one przee
wszystkim "ilozo"i poej.cia o tworzenia aplikacji. Pierwszy znich to 1jango: stworzony jako
spjne, samowystarczalne rozwizanie, posiaajce swoje w!asne systemy szablonw, moeli i
wiokw %kontrolerw&. 9estaw bibliotek i wbuowanych w niego mou!w czyni zniego
zamkni$ty system o .ci.le okre.lonej "unkcjonalno.ci. ;wocuje to przee wszystkim prostot.
#rzeba przyzna, e tworzenie aplikacji zuyciem tego rozwizania jest napraw$ !atwe, mona
nauczy si$ go w kilka minut i b!yskawicznie, niczym za otkni$ciem magicznej rki,
wyczarowa witryn$ zpanelem aministracyjnym. 1zi$ki ogromowi wspania!ych narz$zi
ostarczonych przeztwrcw 1jango, ostajemy o r$ki wszystko to, co najbarziej potrzebne w
tworzeniu w!asnego portalu internetowego.
Page < o" => Python: absolutny wst$p o my.lenia w oglnym j$zyku programowania
?@=A-==-@< http:BBwebhosting.plBprintBPython.absolutny.wstep.o.myslenia.w.ogolCnym.jezyku.pr...
Rysunek 4. Sesja Eclipsa w dziaaniu. W tle strona domylnie wywietlana po stworzeniu
projektu oraz konsola paster shell dla Pylonsw.
Problemy zaczynaj si gdy funkcjonalno dostarczona przez twrcw wyej wspomnianego
Framework po prostu nie wystarcza !tedy naley zastanowi si nad uyciem Pylons" ktre
prezentuje skrajnie odmienne podejcie" cec#ujce si siln modularyzacj $iemale wszystkie
mec#anizmy jzyka to odrbne biblioteki i projekty zwizane z Pyt#onem %oemy je dowolnie
dobiera i wymienia" samodzielnie decydujc" jakiego systemu szablonw" czy warstwy
abstrakcji baz danyc# bdziemy uywa" oraz z jakic# komponentw do walidacji danyc# czy
weryfikacji uytkownikw bdzie korzysta&a nasza witryna $ic nie stoi na przeszkodzie" aby
rozszerzy nasz aplikacj o samodzielnie napisane biblioteki czy modu&y" nawet te dzia&ajce na
poziomie serwera !!!
Page ' of () Pyt#on* absolutny wstp do mylenia w oglnym jzyku programowania
+,(-.((.,/ #ttp*00web#ostingpl0print0Pyt#onabsolutnywstepdomysleniawogol1nymjezykupr
Rysunek 5. Django w caym swoim majestacie. Rozbudowany, nowoczesny, penokrwisty
panel administracyjny. Gotowy w dwie minuty po starcie projektu.
Oba frameworki maj si dobrze i posiadaj grono zwolennikw. Ich charakterystyczne cechy
przemawiaj raz na rzecz jednego, a raz drugiego, pozwalajc zawsze wybra najlepszy z nich w
zale!no"ci od stopnia skomplikowania oraz zaawansowania planowanego projektu.
Gdzie hostowa
#oogle, do"wiadczajc dobrodziejstw jzyka $ython, zrobi% prezent de&eloperom aplikacji
internetowych, tworzc darmow platform do ich hostowania o nazwie #oogle 'pp (ngine.
)wrcy frameworkw szybko dostosowali swoje projekty do mo!liwo"ci kont oferowanych przez
#oogle. * +ieci znajdziemy mnstwo opisw pokazujcych, co zrobi, aby nasza aplikacja
napisana w ,jango lub w $ylons mog%a zago"ci pod adresem -.appspot.com.
.iestety, specyfika kont #oogle 'pp (ngine nie pozwala na przyk%ad na korzystanie z baz danych
/y+01 czy $ostgre+01. 2e!eli wic sta nas na hosting i chcemy skorzysta z rodzimych us%ug,
mo!emy "mia%o wykupi konto na rodzimym home.pl. /o!liwo" uruchamiania aplikacji $ythona
jako skryptw 3#I otrzymujemy ju! w pakiecie 4usiness +tarter, a home.pl udostpnia wersj
5.6.5 tego jzyka, co jest ewenementem, je"li chodzi o najwikszych dostawcw w $olsce.
2ako serwer de&eloperski fantastycznie prezentuje si 7oot.ode, ktry swoj drog reklamuje si
jako 8Raj dla programisty8 9 to bardzo przyjazne "rodowisko dla aplikacji opartych o ,jango czy
$ylons. $rzegldajc dalej zasoby +ieci, bardzo czsto polecane s us%ugi /egi)eam oraz, majcy
fantastyczn opini, *eb:action. 2ak wida, wybr jest niema%y, a cennikowo wszystkie te us%ugi
mieszcz si w rozsdnych granicach. $rzytoczy%em tylko najlepiej prezentujce si i posiadajce
$age ; of <= $ython> absolutny wstp do my"lenia w oglnym jzyku programowania
5?<@A<<A?B http>CCwebhosting.plCprintC$ython.absolutny.wstep.do.myslenia.w.ogolDnym.jezyku.pr...
dobre opinie oferty. Do wielu innych dotrzesz, czytajc wtek powicony temu tematowi na
forum Polish Python Coders roups.
Narzdzia dla programistw
Podstawowym narzdziem, kt!re otrzymuj pro"ramici Pythona, jest konsola. Pozwala ona na
wykonywanie kodu w locie, szybkie testowanie pewnych rozwiza#, sprawdzanie konstrukcji
kodu w zasadzie od zaraz. $zalenie u%yteczne narzdzie & szcze"!lnie przy pocztkach, kiedy
jeszcze si uczymy. 'iedy zaczniemy szerzej wykorzystywa( dobrodziejstwa konsoli, na pewno
przyda si jej rozszerzenie & iPython.
Rysunek 6. Geany - prostota i pragmatyzm. Edycja niewielkiego programiku
Jyt!ona z wykorzystaniem "#$.
)r!d edytor!w mamy o"romny wyb!r. $k*adnie Pythona koloruje popularny P$Pad czy
+otepad,,. -sobom lubicym proste, dedykowane rozwizania polecam edytor eany. .!wnie%
amatorzy zaawansowanych rodowisk pro"ramistycznych znajd co dla siebie. +a czo*o wysuwa
si tutaj /clipse wzbo"acony o wtyczk PyDe0. +iestety, amatorzy +et1eans musz jeszcze
zaczeka( na oficjalne, wbudowane wsparcie dla jzyka Python w tym rodowisku, jednak ju% dzi
mo" doinstalowa( do nie"o debu""er 2pyDb" lub przyjrze( si ofercie +et1eans Python /3.
Pa"e 4 of 56 Python7 absolutny wstp do mylenia w o"!lnym jzyku pro"ramowania
895:;55;9< http7==webhostin".pl=print=Python.absolutny.wstep.do.myslenia.w.o"ol>nym.jezyku.pr...
Rysunek 7. Kolejny fantastyczny duet. Far Commander i Vim - czasami
mona zapomnie, e pracuje si pod !indo"s.
Co z C#$-ami%
Palm pierwszestwa wrd CMS-w wiata Pythona dziery Plone. O tym, z ja
zaawansowanym systemem zarz!dzania tre"i mamy do"zynienia, moemy si przeona#,
"zytaj!" j$ "ho#%y list &$n"jonalno"i te'oprojet$. O ini"jatywa"h stworzenia aplia"ji(
CMS, )ii, *ra" "zy inny"h przypominaj!"y"h tenapisanew P+P moemy po"zyta# midzy
innymi na witryna"h wii Pylons. Pord wiel$ lar$j!"y"h si projetw wartowspomnie#, i
&antasty"znienapisany hportal, %d!"y tworem Paw,a +ajdana, otrym %y,ojai "zas tem$
',ono, jest od pewne'o"zas$ w &azieprzepisywaniena jzy Python. -dzietojedyny znany mi
CMS, przypominaj!"y prod$ty tworzonew jzy$ P+P, napisany z $y"iem Pythona.
&iteratura i 'r(d)a "iedzy
Przesz$$j!" zaso%y polsiej literat$ry doty"z!"ej Pythona, napotyamy ',wniena si!i
wydaneprzez +elion. .edn! z pierwszy"h pozy"ji dostpny"h w naszym rodzimym jzy$ %y,y
/ozmwi. Podzi dzie jest tojedna z lepszy"h si!e dostpny"h na ryn$ polsim. Przyda
si sz"ze'lnietym, trzy szy%o%d! "h"ieli zapozna# si zes,adni! jzya, prze"hodz!" od
raz$ doprzy,adw z pro'ramowana sie"iowe'o, zarz!dzania w!tami, serializa"j!, pra"! z
pliami, %azami dany"h, implementa"j! om$nia"ji internetowej, parsowani$ +*M0 "zy 1M0.
2si!a ta toniew!tpliwiezestaw szalenieprzydatny"h &ra'mentw od$ z najrniejszy"h
dziedzini zastosowa. 3najdziemiejs"ew %i%liote"z"eade'orozpo"zynaj!"e'osw! przy'od
z Pythonem pro'ramisty. 4wietna na spr%owaniei dla ty"h, trzy "h"ieli%y poprost$ zo%a"zy#,
"zy tenjzy pro'ramowania jest dla ni"h.
5la poszerzenia swojej wiedzy l$% w wypad$, w trym mamy pewno#, i Pythonem %dziemy
zajmowa# si trosz d,$ej l$% nasze&$nd$szeprzezna"zonena si! nies! spe"jalnie
o'rani"zone, wartozastanowi# si nad Python6 /e"ept$ry. Por$sza ona zna"znieszersze
Pa'e78 o& 79 Python( a%sol$tny wstp domylenia w o'lnym jzy$ pro'ramowania
:87;-77-8< http(==we%hostin'.pl=print=Python.a%sol$tny.wstep.do.myslenia.w.o'ol>nym.jezy$.pr...
spektrum zagadnie, wszystkie one zostay omwione znacznie dokadniej i okraszone
fragmentami kodu. Osobicie, z niecierpliwoci czekam na wydanie ksiki !yt"on #
$prowadzenie. %iedy przygldam si& wersji angielskiej, moim skromnym zdaniem b&dzie to
najlepsza z dost&pnyc" pozycji na rynku polskim i moe przyczyni' si& do znacznej popularyzacji
tego fantastycznego j&zyka.
(koro jestemy ju przy literaturze, warto nadmieni', e wszyscy fani )ruce *ckela i +"inking in
,a-a mog spodziewa' si& +"inking in !yt"on, a niecierpliwi zajrze' na witryn&, gdzie s
dost&pne szkice ksiki.
.am te dobr wiadomo' dla osb posiadajcyc" dar czytania dokumentacji. Od wersji /.012333
moemy cieszy' si& bardzo dobrze opracowan dokumentacj bazujc na (p"inksie. 4ie brakuje
take materiaw dost&pnyc" w 5nternecie. !rawdziw skarbnic jest witryna !olis" !yt"on
6oders 7roup. !olecam j wszystkim pocztkujcym oraz tym bardziej zaawansowanym8 pr&nie
dziaajce forum i kana 596 to pewne miejsca, w ktryc" mona liczy' na pomoc naszyc"
rodakw w postawieniu pierwszyc" :jak i tyc" kolejnyc"; krokw w tym j&zyku programowania.
6"o' j&zyk !yt"on jest j&zykiem wieloplatformowym, tematyka tworzenia w nim aplikacji bardzo
cz&sto przewija si& na wszelkic" <=>7ac" :=inu? >ser 7roup; lubujcyc" si&, mogoby si&
czasem zdawa', we wspomnianej tematyce. .oesz te zaangaowa' si& w dziaalno' grup,
takic" jak %rakowski !y%onik czy $arszawski $ar!y. )ardzo cz&sto temat !yt"ona jest rwnie
poruszany na konferencjac" prowadzonyc" przez %rakowski oddzia 7oogle. $szystko to spina
coroczna konferencja !y6on :lub jej polska odmiana !y6on !=;, ktra w roku /33@ odbya si& w
9ybniku.
Przeciwnicy Pythona
!o wpisaniu frazy Apyt"on -sB w wyszukiwarce natrafimy na dziesitki debat prowadzonyc"
przez bojownikw (ieci, wszczynajcyc" pucze i wi&te wojny, biorcyc" udzia w
niekoczcyc" si& dyskusjac" dotyczcyc" wyszoci j&zyka programowania C nad D, piszcyc"
niezmordowanie nocami testy udowadniajce ic" racje, tworzc niekoczce si& zestawienia w
*?celu i wykresy, w ktryc" supki z ic" ulubionym j&zykiem programowania pokazuj wyszo'
ic" teorii nad zdaniem reszty wiata, ktry si& nie zna... 6"ciaem tutaj poruszy' kilka, cz&sto
poruszanyc" tematw i postawi' je w wietle8 suc"yc", obiektywnyc" faktw.
E Python jest mniej wydajny ni inne jzyki
!yt"on jest j&zykiem skryptowym. ,ego kod nie jest kompilowany do wydajnej postaci
wykonywalnej, tak jak ma to miejsce w 616FF. 6zy jednak w ktrymkolwiek z jego
pryncypiw widnieje gdzie "aso Gwydajno'GH Ot nie. Iadnym z czterec" nadrz&dnyc"
celw j&zyka nie jest wydajno', jest to wi&c bez wtpienia sprawa drugorz&dna. $ydajno'
j&zyka, c"o' systematycznie zwi&kszana oraz poprawiana, jest podporzdkowana
czytelnoci oraz prostocie skadni. !yt"on nie zosta stworzony jako najszybszy, skrajnie
wydajny j&zyk projektowania systemw czasu rzeczywistego. 4ie taki jest jego cel i nie taki
by gwny zamys jego twrcy.
E Python ma dziwn skadni
+rzeba to przyzna'. !rogramujc w tak popularnyc" j&zykac" jak 6, 6FF, ,a-a czy !J!
:nazwijmy je roboczo # klamerkowymi;, mogoby si& wydawa', e skadania j&zyka
programowania powinna wanie tak wyglda', klamerki nawiasiki, ify, fory i switc"e.
!age KK of KL !yt"on8 absolutny wst&p do mylenia w oglnym j&zyku programowania
/3K2MKKM30 "ttp811web"osting.pl1print1!yt"on.absolutny.wstep.do.myslenia.w.ogolNnym.jezyku.pr...
Python zaskakuje tutaj na kadym kroku, nie rozpieszczajc zatwardziaych programistw
wyej wspomnianych jzykw programowania i zmuszajc ich do przestawienia si na
form znacznie oszczdniejsz i pozornie "niewygodn" zaen !owiem od wci"#
$pu%cizna po jzyku &'( daje si tutaj mocno we znaki# $am do%wiadczyem tego, jak
mocno trze!a zmieni" podej%cie i my%enie o jzyku programowania i tworzeniu
programw, a!y doceni" zaety Pythona, zacz" korzysta" z jego do!rodziejstw i
do%wiadczy" w penej skai skrcenia czasu pracy programisty# Przypomina to mniej wicej
przej%cie ze zwykego edytora tekstu do )ima pocztkowo wydaje si nam to kompetnie
innym, egzotycznym, dziwnym rozwizaniem, majcym gdzie% jednak, po !iszym
poznaniu, swoj ogik, fiozofi i g!oki sens#
*ednak i tutaj wystarczy spojrze" na cee jzyka# +arwno skadnia jak i wszystkie
zastosowane w niej konstrukcje maj przy%piesza" prac programisty i zarwno czyni" kod
!ardziej czytenym, prostszym i intuicyjnym# ,awet kosztem egzotyczno%ci skadni
jzyka i zmuszenia programisty do zmiany przyzwyczaje- na!ytych w innych popuarnych
jzykach programowania#
. Python jest lepszy lub gorszy ni inne jzyki programowania
(iko mwi" o tym, czy Python jest epszy czy gorszy ni jaki% inny jzyk# Python jest
epszy w !yciu Pythonem i reaizacj swoich cew i rwnocze%nie Python jest gorszy w
!yciu P/P, *a0 czy kadym innym jzykiem programowania# Przyzwyczajenie drug
natur programisty# 1o, e jakiemu% programi%cie wygodniej si w czym% pisze kod, nie
oznacza, e jego jzyk jest epszy# *est wygodniejszy da niego# 1o wszystko#
2iee zestawie-, na ktre mona natrafi" w $ieci, to porwnanie jzyka Python, P/P u!
3u!y# +ostawiajc interpretacj popuarno%ci, wydajno%ci oraz io%ci oprogramowania
napisanego we wcze%niej wspomnianych jzykach (zytenikowi, chciaem zwrci" uwag
na zestawianie 4i moim zdaniem !ezsensowne pr!y wyonienia epszego jzyka5 Python
kontra 3u!y#
(hciaem zacz" od tego, e moim skromnym zdaniem rnorodno%" jest rzecz do!r6
pozwaa zawsze dokona" wy!oru, wy!ra" epsze narzdzie do zadania, ktre przed nami
stoi# Pythona i 3u!ego porwna!ym do komiksu i wiersza# Prostota i intuicyjno%" jzyka
Python przypomina mi komiks# 2e7my na przykad historyjki o 8arfiedzie# 2 prostych
przypadkach wystarczy spojrze" na rysunki, czasami w !ardziej skompikowanych mona
przeczyta" dymki 4docstringi5, a!y zrozumie" sens dowcipu# ,arzucone s jednak sztywne
formy6 w komiksie wystpuj okre%one postaci 4z rzadka jakie% inne5, jzyk musi !y"
prosty, forma graficzna i wygd gwnych !ohaterw narzucony# 8arfieda rysuje si tak, a
nie inaczej i ju# (zasami ma czapeczk, a innym razem wystpuje z mandoin, ae
8arfied to wci 8afied# 2szystko jest proste, jasne, widoczne na pierwszy rzut oka#
1worzenie programw w jzyku 3u!y przypomina mi natomiast pisanie wierszy# 'ogactwo
skadni, rnice si niuansami konstrukcje, indywiduany sty tworzenia, finezja i "to co%"#
+ jednej strony wci w narzuconych z gry ramach 4skadni nie da si wyczarowa" z
rkawa, jest jaka jest5 z drugiej strony ogrom i rnorodno%" konstrukcji dostpnych w
3u!ym daje szerokie poe do popisu w indywiduanym podej%ciu do tworzenia kodu# 1ak
jak komiksowy sty Pytona niczym 8P$ ukierunkowuje wci programist na tworzenie
czytenego, prostego, intuicyjnego kodu, tak 3u!y pozostawia jego wygd i zrozumiao%"
na !arkach twrcy, ktry moe pisa" kodowe poematy#
,ie ma tu naprawd sensu ocenia", ktre podej%cie jest epsze# +dyscypinowany i my%cy
Page 9: of 9; Python6 a!soutny wstp do my%enia w ognym jzyku programowania
:<9=>99><? http6@@we!hosting#p@print@Python#a!soutny#wstep#do#mysenia#w#ogoAnym#jezyku#pr###
programista przy odrobinie wysiku moe bez wikszych problemw tworzy zrozumiay,
czytelny kod w niemale kadym jzyku programowania. Python po prostu dodatkowo stara
si to wymusi lub po prostu uatwi. ybr jest zawsze dobry. Poezja nigdy nie zast!pi
komiksu i na odwrt. "eeli mamy odpowiednie zdolno#ci $ interpretacja nawet najbardziej
abstrakcyjnej poezji przyniesie znawcy jedynie rado#, satys%akcj i odkryje przed nim
nowy #wiat.
& Python posiada dwie wersje i nie wiadomo, ktrej si uczy
'o %akt. (a pewnym etapie twrcy doszli do wniosku, e jedyn! drog! na unowocze#nienie
Pythona i pj#cie dalej jest zerwanie ze wsteczn! kompatybilno#ci!. Postanowili wic przez
pewien duszy okres czasu wydawa dwie wersje oprogramowania) ga!* +.,
-kompatybiln! wstecz. oraz /.,, w ktrej zostay podjte radykalne zmiany maj!ce na celu
uczynienie jzyka Python jeszcze bardziej potnym i nowoczesnym.
Poniewa zmiana ta nast!pia cakiem niedawno, szczeglnie jak na jzyki programowania,
wiele bibliotek -na przykad do obsugo baz danych., %rameworkw czy zewntrznych
moduw nie zostao jeszcze przeportowanych na wersj /. Posiada ona wic mniejsz! ilo#
bibliotek zewntrznych. szystko z czasem si wyrwna i wraz z jego biegiem ga!*
Pythona +., odejdzie w niepami, a liczba projektw tworzonych dla Pythona / bdzie
przynajmniej dorwnywaa dzisiejszemu port%olio gazi +.,. 0opki to nie nast!pi,
polecam uczy si Pythona w wersji +.1. Posiada on znaczn! cz# udogodnie2
wprowadzonych do gazi /. 3nice w samym jzyku s! na tyle niewielkie, i
przerzucenie si z pisania z gazi + na / bdzie wi!zao si co najwyej ze zmian!
przyzwyczaje2 i kilku konwencji.
4sobi#cie ruch, ktrym byo wydanie rwnolegle kolejnej gazi, uwaam za sukces
twrcw jzyka Python oraz pozytywny owoc postawienia 5uido 6an 3ossum na
stanowisku 7ene6olent 0ictator %or 8i%e $ osoby podejmuj!cej ostateczne, rozstrzygaj!ce
decyzje w przypadku rnicy zda2 w grupie de6eloperw jzyka. 0ziki niemu $ bez
wzgldu na wszelkie konsekwencje i utrudnienia, ktrych naleao si spodziewa $
wyjdzie to Pythonowi na dobre, czyni!c z niego jeszcze bardziej nowoczesny i przyjazny
jzyk programowania.
& Python to religia
9usz przyzna, e czytaj!c czasem o Pythonie czy o 3ubym, odnosz wraenie, e o ile
programi#ci takich jzykw jak "a6a, :;; czy P<P s! nadal tylko programistami, Python
czy 3uby stay si dla niektrych religi!.
Zakoczenie
"eeli po przeczytaniu tego tekstu, zastanawiasz si, czy jzyk Python jest dla :iebie, nie
pozostaje :i nic innego, jak po prostu wyprbowa go. (ajpro#ciej bdzie skorzysta ze strony
'ry=Python lub zainstalowa go na swoim komputerze. 9iej zabawy.
Page >/ o% >? Python) absolutny wstp do my#lenia w oglnym jzyku programowania
+@>/=>>=@1 http)AAwebhosting.plAprintAPython.absolutny.wstep.do.myslenia.w.ogolBnym.jezyku.pr...
Rysunek 8. Okno koczce pomyln instalacj jzykaPython w systemie Windows.
Page >? o% >? Python) absolutny wstp do my#lenia w oglnym jzyku programowania
+@>/=>>=@1 http)AAwebhosting.plAprintAPython.absolutny.wstep.do.myslenia.w.ogolBnym.jezyku.pr...

You might also like