Python - na uzlazu ili silazu?
-
Upload
robert-lujo -
Category
Technology
-
view
689 -
download
4
Transcript of Python - na uzlazu ili silazu?
py
python na uzlazu ili silazu?
Robert Lujo, Zagreb
Arhitekt poslovnih aplikacijaVoditelj softv.projekataSoftverski inžinjer
14 godina profesionalnog iskustvaOSS, python, django, C, C#, Java ...
@trebor74hr, linkedinhttp://robert-lujo.com
python – na uzlazu ili silazu?
py u jednoj rečenici po meni python je ...
popularni open source dinamički jezik opće namjene s visokom razinom apstrakcije, specifičnom i vrlo čistom sintaksom i bogatim skupom programskih paketa
python – na uzlazu ili silazu?
py popularan, hm?
gledano na svjetskoj razini, DAgledano kroz vrijeme, DA, sve popularnijiu Hrvatskoj, paaaa, ne baš :(ali u zadnjih mjeseci mu pada popularnost?
ili?
python – na uzlazu ili silazu?
py popularan? trebam li ja to pratiti?
dajer je važno znati trendove i gdje se stvari kreću
je li perspektivno ulagati svoje vrijeme u ovladavanje te tehnologije i korištenju iste
hoću li lako naći suradnike, one koji će to održavati, prodati tvrtci koja će imati udio u razvoju
jer velike tvrtke stoje iza toga
nejer za mene za konkretan slučaj brzo i učinkovito rješava
problem
jer već imam izgrađenu infrastrukturu u toj tehnologiji
jer “vidim” vrijednost u tome
jer se zabavljam koristeći
jer nisam jedini koji ovako razmišlja (community)
jer velike tvrtke stoje iza toga
python – na uzlazu ili silazu?
py statistika u ovom slučaju
problem 1: nije točna :)problem 2: ni ne može biti točnasluži u indikativne svrherelativni odnosi i odnosi kroz vrijeme su važniji i
“teži” od apsolutnihza bolji uvid u pravo stanje
potrebno više različitih izvorakorištenje prilagođenih metodologija
na različitim temeljima volumen pretraživanjabroj oglasa za posaobroj novih OSS programskih paketabroj pitanja na forumima i sličnim site-ovim (npr.
stackoverflow)
znati i pratiti pozadinu stvari
python – na uzlazu ili silazu?
py što je to “popularno”?
popularno == koristi se u velikoj mjeribolje se prije pitati, zašto je nešto popularno?zato jer donosi novac“community driven”
brzo rješava problem u traženom području (domena)
lako prilagodljivo na nove okolnosti
čini korisnika zadovoljnim (“fun wins”) -> učinkovitijim
“big company/ies driven”jer je velika tvrtka uložila velike novce i onda to gura, gura i
gura
jer je “jeftinije” održavati sistem u postojećoj tehnologiji nego je prebaciti na novu (bolju)
“platform driven”primjer: java – android, iOS – ObjectiveC, Lua
python – na uzlazu ili silazu?
py vrijeme “ugnježđivanja”
programski jezici i sw. tehnologije imaju vrijeme “ugnježđivanja”
što dulje traje to će dulje trajati potreba za održavanjem i razvojem razvijenih sustava
duljina trajanja je nepredvidiva i ovisi o velikom broju čimbenika
dan danas se traže COBOL programeri za stare sustave
“if it ain't broke, don't fix it”pogledajmo primjer na grafu ...
python – na uzlazu ili silazu?
py onda, kakav je zaključak?
važno je osluškivatino to nikako ne smije biti osnovni poticaj za
korištenje ili odustajanje (primjer Java)svako vrijeme donosi svoje probleme, što
znači da se i tehnika mora prilagođavativrste problema se nerijetko vraćaju i “starije”
tehnologije s dobrim konceptima ponovno oživljavaju (primjer Lisp)
moj osobni osjećaj je da Pythonu raste “popularnost” te je u tijeku vrijeme “ugnježđivanja”
python – na uzlazu ili silazu?
py neki poznatiji python projekti
Ubuntu, Red Hat Linux, Gentoo Linux imaju instalacijske i/ili administracijsko/upravljačke GUI alate napisane u pythonu
addons.mozilla.org (django)groups.google.comBitTorrent clientMercurialBitbucket.comDropbox (ne u potpunosti)Google Application Engine – prvi jezikskriptni jezik za prog. za 2D i 3D animaciju i
modeliranje kao što su Maya, modo, Blender, GIMP, Inkscape, Scribus, Paint Shop Pro
python – na uzlazu ili silazu?
py pravilo palca
Svaki jezik/sw.tehnologija je nastala s razlogompostojao je niz problema određene vrste koju
postojeća rješenja nisu optimalno rješavale – izmislilo se bolje rješenje
postoji opravdan razlog za popularnost, za svakog od njih postoje područja (domain) gdje su “bolji” od drugihvažno je znati koja su to područja!
python – na uzlazu ili silazu?
py python je jak u ...
brzina osposobljanja za rad: instalacija, paketi, help, community, nije potreban IDE, REPL ...
brzina učenjavrlo jasan i čitljiv kodbrzina izrade prototipavrlo visoka izražajna snaga jezikamulti-paradigm: procedural, OO, functional “battery included” - std lib, pypi 17.000jednostavnost slaganja sustava: paketi, moduli,
virtualenvneovisnost o trećim stranama (99% paketa u
upotrebi je OSS)
python – na uzlazu ili silazu?
py python problemi
brzina problem koji se vrlo često može zanemariti
sporiji dijelovi se prebace u C/C++
GIL – Global Interpreter Lockproblemi nemogućnosti podržavanja “native multithreading-a”
py core team odlučio – alternativa je multiprocessing
python 2 ili python 3?2 -> 3 “backward incompatible” skok
vrlo hrabro, no pažljivo smišljeno
još nije krenulo, no nazire se “val”
strogost u napretku jezikapo meni su dosadašnje odluke dobre
hoće li se dogoditi niz “krivih” odluka u budućnosti?
konkurencija sličnih ili “jačih” po nekim područjima: Ruby, Javascript, Scala...
rješenja na neke od ovih problema, druge implementacije Python-a: PyPy, JPython, IronRuby
python – na uzlazu ili silazu?
py python se najčešće upotrebljava za
premda je jezik opće namjene, ipak je težište nascripts & shell applicationsweb applicationsprotocol based applications & distributed appssistemske i konfiguracijske aplikacijeembedded systemsscientific educationalprototyping
python – na uzlazu ili silazu?
py python manja upotreba
python se manje upotrebljava za:GUI aplikacije – premda sve više, posebno za
linux (QT, wx, gtk)aplikacije visokih performansi – premda se znaju
upotrebljavati u kombinaciji s C/C++ modulimaenterprise systems
to ne znači nužno da je u tim područjima slabiji, nego jednostavno manje “popularan”
python – na uzlazu ili silazu?
py python moduli, statistika pypihttp://www.algorithm.co.il/blogs/programming/python/python-module-usage-stats/
python – na uzlazu ili silazu?
py python, da napokon vidimo kôd
kratka radionica (<10 min)hello worldklasa OsobaREPLdebuggerstandard libs
help
3rd party libspypi & pip
doctest
python – na uzlazu ili silazu?
py moje viđenje
zbog svojih jedinstvenih osobina Python-u je zagarantirana svijetla budućnost
vjerojatno neće biti jedan od vodećih jezika, no u područjima ispod “haube” će uvijek biti konkurentan
neki “veliki” ga vole (google, mozilla)vole ga u znanstvenim i edukacijskim krugovimai još jednom:
sve to zajedno nije toliko važnoako za vas Python (ili bilo što drugo) najbolje
rješava problem, to bi trebao biti najvažniji kriterij
python – na uzlazu ili silazu?
py kraj
[email protected]@trebor74hr
http://robert-lujo.com
Pitanja?
Hvala na strpljenju!