25
py python na uzlazu ili silazu? python - na uzlazu ili silazu?

Python - na uzlazu ili silazu?

Embed Size (px)

Citation preview

py

python na uzlazu ili silazu?

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 python trend, TIOBE

python – na uzlazu ili silazu?

py python trend, google insights, #swdev

python – na uzlazu ili silazu?

py python trend, indeed.com, poslovi

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 statically typed, dynamically typed

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 java, c, c++

python – na uzlazu ili silazu?

py java, vrlo neobično ...

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!