Má Python budoucnost?

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Má Python budoucnost?
« Odpověď #120 kdy: 10. 05. 2016, 19:12:54 »
Slusne rychle a Python? Kdyz predrecnik uvadel Javu, kterou casto lidi kritizuji za pomalost? Napr. podle https://benchmarksgame.alioth.debian.org/u64q/python.html je Java vetsinou o jeden az dva rady rychlejsi ;D.

Existují malé lži, velké lži a benchmarky...

Ale rozdil o rady? Navic to neni mikrobenchamark, zadna trivialni operace, je to nekolik algoritmu a je to provadeno v radu desitek az stovek sekund, vypada to solidne. Takze bych te pomalosti Pythonu veril. Ostatne dost velkych firem prechazelo z Pythonu ci Ruby prave k JVM nebo i NodeJS kvuli vykonu.


Ondrej

Re:Má Python budoucnost?
« Odpověď #121 kdy: 10. 05. 2016, 19:27:09 »
Slusne rychle a Python? Kdyz predrecnik uvadel Javu, kterou casto lidi kritizuji za pomalost? Napr. podle https://benchmarksgame.alioth.debian.org/u64q/python.html je Java vetsinou o jeden az dva rady rychlejsi ;D.

Existují malé lži, velké lži a benchmarky...

Ale rozdil o rady? Navic to neni mikrobenchamark, zadna trivialni operace, je to nekolik algoritmu a je to provadeno v radu desitek az stovek sekund, vypada to solidne. Takze bych te pomalosti Pythonu veril. Ostatne dost velkych firem prechazelo z Pythonu ci Ruby prave k JVM nebo i NodeJS kvuli vykonu.
a? Když budeš někde bržděnej a už nepůjde kód z optimalizovat, (na uvedené příklady sem se nedíval...) můžeš danou výpočet přepsat do cečka a máš problém s rychlostí vyřešenej. Nebo použiješ pypy, když chceš bejt u pythonu...

Youda

Re:Má Python budoucnost?
« Odpověď #122 kdy: 10. 05. 2016, 20:15:03 »
Na veci ktere musi bezet trochu slusne rychle commandline Python.

Slusne rychle a Python? Kdyz predrecnik uvadel Javu, kterou casto lidi kritizuji za pomalost? Napr. podle https://benchmarksgame.alioth.debian.org/u64q/python.html je Java vetsinou o jeden az dva rady rychlejsi ;D.

Na opravdove weby Python.

Na opravdove obrovske a narocne weby bych zase vzal (minimalne) Javu nebo jiny jazyk nad JVM (ani C# pry neni spatny, ale ten bych si nevybral). Kazdopadne bych sahnul po necem silne typovanem, rozhodne zadny NodeJS nebo Python, protoze po vlne nadseni z jednoduche implementace by prislo zdeseni s narocnou udrzbou.

Mimochodem, nebyl v Pythonu nejaky problem s globalnim zamkem, nebo uz to konecne vyresili? Se divam, ze i ten hloupy Node je mnohem rychlejsi nez Python, to jsem nevedel :o.
Zkus si vyvíjet například v Djangu, naprostá paráda... Nevím v čem by byla lepší/výhodnější Java... Beztak je to jedno v jakém jazyce, vem si FB a jeho php...

A znas vubec neco jineho?
Zkus se mrknout na primefaces.org do polozky demo, co to umi a kolik radku kodu je pro to potreba.

Treba tady, tu mas priklad CRUD tabulky s kontextovym menu:
http://www.primefaces.org/showcase/ui/data/datatable/contextMenu.xhtml


Youda

Re:Má Python budoucnost?
« Odpověď #123 kdy: 10. 05. 2016, 20:23:24 »

A znas vubec neco jineho?
Zkus se mrknout na primefaces.org do polozky demo, co to umi a kolik radku kodu je pro to potreba.

Treba tady, tu mas priklad CRUD tabulky s kontextovym menu:
http://www.primefaces.org/showcase/ui/data/datatable/contextMenu.xhtml

Este k tomu prikladu vyse. V jave ti tenhle priklad rozjedu na notebooku tak, ze napisu do mavenu jednoduchy pom.xml vyuzivajici pouze Maven Central, kde pridam v eclipsu dependency na posledni Primefaces, plugin na embedded jetynu, , pak do src vlozim ty tri example soubory, pak spustim maven target "mvn jetty:run" a hotovo.
Vse potrebne se automaticky postahuje z Maven Central, zkompiluje se WARko, spusti se embedded jettyna, deployuje se WARko a cely vehement se rozjede.

Vse co bylo potreba, je Eclipsa, jeden pom.xml a vedet co do nej napsat.
 

Youda

Re:Má Python budoucnost?
« Odpověď #124 kdy: 10. 05. 2016, 20:32:34 »
Slusne rychle a Python? Kdyz predrecnik uvadel Javu, kterou casto lidi kritizuji za pomalost? Napr. podle https://benchmarksgame.alioth.debian.org/u64q/python.html je Java vetsinou o jeden az dva rady rychlejsi ;D.

Existují malé lži, velké lži a benchmarky...

Ale rozdil o rady? Navic to neni mikrobenchamark, zadna trivialni operace, je to nekolik algoritmu a je to provadeno v radu desitek az stovek sekund, vypada to solidne. Takze bych te pomalosti Pythonu veril. Ostatne dost velkych firem prechazelo z Pythonu ci Ruby prave k JVM nebo i NodeJS kvuli vykonu.

Tak nejak.
Navic Java ma nevyhodu nutnosti pomaleho spusteni a zahrati JVM. POkud by ty testy byly koncipovany jako o rad delsi, dopadlo by to pro Python este hur. Treba ten prvni test pidigits trval na jave 3 sekundy, z toho cca 1 sec trval start JVM...
Na serveru bezi JVM kontinualne.

Jinak samozrejme, Java je nepouzitelna pro mnoho jednorazovych spusteni, napr. skript na zpracovani SNMP trapu v Net-SNMP. Tam jedine perl nebo C, rezie startu JVM je prilis velka.


noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Má Python budoucnost?
« Odpověď #125 kdy: 10. 05. 2016, 20:38:06 »
Co se divam na nejake benchmarky, tak ani s PyPy se to neblizi Jave. Porad to byva 2x a vic pomalejsi.

Co ziskat Javou? No, ne ze bych ji ja zvolil, radeji bych si vzal Scalu, kdybych mel na vyber. Ale v kazdem pripade staticke typy (=lepe udrzovatelne, odpada nutnost psani casti testu oproti dynamickym jazykum) a snad nejstabilnejsi platformu (coz se pro opravdove weby hodi) s velmi vyspelymi knihovnami, dotazenym systemem zavislosti a nasazovani. Dale urcite nepreberne mnozstvi studijnich materialu, vysoke prumerne platy, obrovske mnozstvi pracovnich mist. No, urcite jsem na neco zapomnel, ale jako zacatek to myslim staci.

Nyni bych sel spise do frontendu ala SPA (Angular nebo React) a backend by se staral "jen" o pristup k DB a pocty.

V pripade maleho webu, bych si rad casem zkusil ScalaJS - mit staticky typovany jazyk v prohlizeci me dost laka. Navic moznost sdileni kodu mezi fronendem a backendem (modely) zni take vyborne, ale opravdu nevim, jestli je to uz pripravene na ostre nasazeni.

...
Jinak samozrejme, Java je nepouzitelna pro mnoho jednorazovych spusteni, napr. skript na zpracovani SNMP trapu v Net-SNMP. Tam jedine perl nebo C, rezie startu JVM je prilis velka.

Myslim ze existavalo nejake reseni, nailgun nebo nejak tak. Pustene JVM bylo porad a pri spusteni "skriptu" se JVM jen pridelilo a po dokonceni zustalo bezet, takze nemuselo vzdy startovat znovu.

Youda

Re:Má Python budoucnost?
« Odpověď #126 kdy: 10. 05. 2016, 20:49:31 »
Co se divam na nejake benchmarky, tak ani s PyPy se to neblizi Jave. Porad to byva 2x a vic pomalejsi.

Co ziskat Javou? No, ne ze bych ji ja zvolil, radeji bych si vzal Scalu, kdybych mel na vyber. Ale v kazdem pripade staticke typy (=lepe udrzovatelne, odpada nutnost psani casti testu oproti dynamickym jazykum) a snad nejstabilnejsi platformu (coz se pro opravdove weby hodi) s velmi vyspelymi knihovnami, dotazenym systemem zavislosti a nasazovani. Dale urcite nepreberne mnozstvi studijnich materialu, vysoke prumerne platy, obrovske mnozstvi pracovnich mist. No, urcite jsem na neco zapomnel, ale jako zacatek to myslim staci.

Nyni bych sel spise do frontendu ala SPA (Angular nebo React) a backend by se staral "jen" o pristup k DB a pocty.

V pripade maleho webu, bych si rad casem zkusil ScalaJS - mit staticky typovany jazyk v prohlizeci me dost laka. Navic moznost sdileni kodu mezi fronendem a backendem (modely) zni take vyborne, ale opravdu nevim, jestli je to uz pripravene na ostre nasazeni.


Souhlas. Osobne bych dneska bych na plnotucny web nasadil Angular  frontend a Spring MVC backend, ktery bude vyrabet REST services na krmeni Angularu.

Jinak pro Angular2 je doporuceno pouzivat TypeScript, coz je nadstavba Javascriptu s podporou silneho typovani. Tim pada jedna z nevyhod Angularu. Sam jsem ale nezkousel.

Kit

Re:Má Python budoucnost?
« Odpověď #127 kdy: 10. 05. 2016, 20:51:10 »
Jinak samozrejme, Java je nepouzitelna pro mnoho jednorazovych spusteni, napr. skript na zpracovani SNMP trapu v Net-SNMP. Tam jedine perl nebo C, rezie startu JVM je prilis velka.

Když jsem si dělal plugin do Vimu v Javě, tak mi také vadila jeho dlouhá doba spouštění. Proto jsem si ten plugin zkompiloval do nativního kódu. Výsledná odezva spouštění kolem 0,3 s je už přijatelná pro interaktivní práci.

tralala

Re:Má Python budoucnost?
« Odpověď #128 kdy: 10. 05. 2016, 21:05:37 »
...
Svete div se, realita je, ze se bezne metody, promenne, tridy i pole prejmenovavaji. Pokud si opravdu stale myslite, ze ani prejmenovani metody nikdy nepouzijete, tak musite delat na smesne malych projektech. Tohle by mozna fungovalo pri skvele specifikaci, skvelemu navrhu a konstatni specifikaci.

Ja myslim, ze tohle je nejcastejsi duvod, proc pulka "programatoru" nechape potrebu refaktorovani. Pak se tady objevuji reci ve stylu: "refaktorovat potrebujou jenom luzri...", "IDE neni potreba...", "vim bohate staci na vse...", atd.

ja refaktorujem furt a iterativne, vzdy sa da ten kod vylepsit, aj ked si niekto mysli ze uz na tom netreba nic menit, tak si to fakt len mysli, ide ale o to sa s tym vediet v rozumny cas rozlucit a nechat to tak a dat tomu softveru zivot nech sa pouziva ... a potom obcas zrefaktorovat ked tam nieco nesedi, hlavne to vydavat casto von

tralala

Re:Má Python budoucnost?
« Odpověď #129 kdy: 10. 05. 2016, 21:16:34 »
asi polovicu casu stravim testovanim toho co som naprogramoval, unit testy, performance testy, zvysujem code coverage skrz jacoco ... jasne ze to "trva", ale ked by som toto vsetko nerobil tak si neviem predstavit ako by som tomu kodu veril ze to robi to co to robit ma ... vyvoj bez testov to je ako programovat naslepo, ved neviete co to poriadne robi ... 

BoneFlute

  • *****
  • 1 983
    • Zobrazit profil
Re:Má Python budoucnost?
« Odpověď #130 kdy: 10. 05. 2016, 21:18:31 »
asi polovicu casu stravim testovanim toho co som naprogramoval, unit testy, performance testy, zvysujem code coverage skrz jacoco ... jasne ze to "trva", ale ked by som toto vsetko nerobil tak si neviem predstavit ako by som tomu kodu veril ze to robi to co to robit ma ... vyvoj bez testov to je ako programovat naslepo, ved neviete co to poriadne robi ...
Každej programátor testuje. Jen někteří lépe, jiní ručně.

Kit

Re:Má Python budoucnost?
« Odpověď #131 kdy: 10. 05. 2016, 21:22:12 »
...
Svete div se, realita je, ze se bezne metody, promenne, tridy i pole prejmenovavaji. Pokud si opravdu stale myslite, ze ani prejmenovani metody nikdy nepouzijete, tak musite delat na smesne malych projektech. Tohle by mozna fungovalo pri skvele specifikaci, skvelemu navrhu a konstatni specifikaci.

Přejmenovávání metod, objektů a tříd je při refaktorování jen okrajovou záležitostí. Názvy privátních metod si mohu měnit dle potřeby, ale u veřejných si to jen tak dovolit nemohu, protože bych tím měnil rozhraní třídy. To by mohlo mít fatální dopad na další projekty, ve kterých je tato třída použita.

tralala

Re:Má Python budoucnost?
« Odpověď #132 kdy: 10. 05. 2016, 21:25:26 »
ja sa v praxi velmi casto stretavam s tym, ze sa na automatizovane testy hladi presne z toho pohladu ze to brzi cas a vysvetlovat to managementu stale dokola je strasne frustrujuce. ja nemienim robit nejake kompromisy a kym to nie je poriadne testnute tak to nejde proste von. tou polovicou casu stravenim testovanim som viac menej myslel "vyvoj testov toho co som naprogramoval" a tomu ver ze to je automatizovane jak vino.

lenze management si to nedokaze dat dokopy a nevidi, ze ked sa to spravi poriadne tak to v dlhodobom horizonte prave ten cas brutalne setri.

andy

Re:Má Python budoucnost?
« Odpověď #133 kdy: 10. 05. 2016, 23:10:10 »
Uz sme dosli medzicasom na to, ci ma python buducnost?

Inak k tomu facebooku a php - to ich php ma spolocny iba jazyk a kniznicu. Po prve na php spravili kompiler, potom vm a podruhe uz maju nejaky vlastny typovy jazyk. Oni do toho museli uz vrazit take prachy, ze si mohli vyvijat ten web rovno v C++ (alebo assembleri :D).

tralala bud rad, ze si nezazil: -ja si musim pisat testy -co vy neviete programovat? ehm..

Pavel Tisnovsky

Re:Má Python budoucnost?
« Odpověď #134 kdy: 10. 05. 2016, 23:25:53 »
tralala bud rad, ze si nezazil: -ja si musim pisat testy -co vy neviete programovat? ehm..

Tak až poletíte někam na služebku, tak se můžeš (přesně ve chvíli, kdy jste na vzletové dráze a nabíráte rychlost) jen tak mezi řečí zmínit:

"a to jste taky četl, že se zrovna u tohoto typu letadla předevčírem updatoval celý systém, a ani nezbyl čas na testování? ale copak, jste pane manažere nějak bledý... " :-)