Python - zbožňovaný lidmi?

dustin

Re:Python - zbožňovaný lidmi?
« Odpověď #330 kdy: 14. 12. 2017, 10:40:58 »
Tak ukaž svůj rozsáhlejší projekt, kde python používáš tím "správným způsobem", ať se poučím. Samozřejmě mě nezajímají skripty o pár metodách či třídách. Za svou "dlouhou a bohatou praxi" jsi jich jistě již vyprodukoval celou řadu.


Petr Mach

Re:Python - zbožňovaný lidmi?
« Odpověď #331 kdy: 14. 12. 2017, 10:49:02 »
dynamické programování je optimalizační metoda. S pythonem nesouvisí.
Ragoval osom na post vysie, kde to doticny tak nazyva. tak inak, ake je to tajomstvo programovania v dynamicky typovanom jazyku?

máte 0% testové pokrytí.

Zas a znovu https://twitter.com/mattgumbley/status/727140296912441345
Ano, to je moje chyba a můj termín, nevěděl jsem, že už je obsazený. Takže místo dynamické programování musím říkat programování v dynamickém jazyku. Není to tajemství, je to umění, jak už to kdysi pojal i Donald E. Knuth ve své monografii. A jako umění se přirozeně vyvíjí a nadále i bude. Proto se vyvíjí i paradigma programování, kterému je potřeba přizpůsobovat způsob myšlení.

Petr Mach

Re:Python - zbožňovaný lidmi?
« Odpověď #332 kdy: 14. 12. 2017, 11:01:48 »
Tak ukaž svůj rozsáhlejší projekt, kde python používáš tím "správným způsobem", ať se poučím. Samozřejmě mě nezajímají skripty o pár metodách či třídách. Za svou "dlouhou a bohatou praxi" jsi jich jistě již vyprodukoval celou řadu.
Ano, podílel jsem se i na větších projektech, většinou v průmyslu, nejsou veřejné. Je to naivní požadavek. Velké projekty financuje někdo a patří dotyčnému, nebývají veřejné, pokud nejde o open source. Není to můj případ, ale představ si, že bych pracoval v bance a tys po mě chtěl, abych zveřejňoval své bankovní it projekty. Já pracuji v ještě specifičtějším prostředí. Ale veřejně se třeba ví, že mj. Python ve velkém používal třeba Google, byť ten už překročil hranici a vydal se cestou vývoje vlastních prostředků. Není to dostatečnou zárukou použitelnosti na velké projekty?

dustin

Re:Python - zbožňovaný lidmi?
« Odpověď #333 kdy: 14. 12. 2017, 11:21:32 »
V čem tedy ten rozdíl, to umění spočívá? Fakt by mě to zajímalo, protože v pythonu už pár let docela intenzivně dělám, java mě živí, a zatím jsem ten zásadní rozdíl ve způsobu vývoje nenašel. Ukaž srovnání na jiném kódu, když veškerý tvůj kód zaplatili klienti a sám pro sebe nic nevyvíjíš.

Pořád nechápu, jak se vyhneš otázkám na typ objektů, když musíš pracovat s jejich API.

Ivan Nový

Re:Python - zbožňovaný lidmi?
« Odpověď #334 kdy: 14. 12. 2017, 11:27:04 »
V čem tedy ten rozdíl, to umění spočívá? Fakt by mě to zajímalo, protože v pythonu už pár let docela intenzivně dělám, java mě živí, a zatím jsem ten zásadní rozdíl ve způsobu vývoje nenašel. Ukaž srovnání na jiném kódu, když veškerý tvůj kód zaplatili klienti a sám pro sebe nic nevyvíjíš.

Pořád nechápu, jak se vyhneš otázkám na typ objektů, když musíš pracovat s jejich API.

Boty se nedávají na ruce, proto se není třeba ptát, zda máte na rukách boty. Když omylem dáte boty na ruce místo rukavic, vyskočí výjimka, protože to je chyba.


dustin

Re:Python - zbožňovaný lidmi?
« Odpověď #335 kdy: 14. 12. 2017, 11:36:28 »
Tak to by mě rozhodně nenapadlo, teď už vidím tu změnu paradigmatu...

wsh

Re:Python - zbožňovaný lidmi?
« Odpověď #336 kdy: 14. 12. 2017, 11:38:01 »
Může někdo z těch, co říkají, jak je Python nepoužitelný na velké projekty, definovat, co u něj znamená "velký projekt"? Ty známé příklady (Dropbox, BitBucket, Discuss, Mozilla Add-ons) já osobně za celkem velké považuju.

balki

Re:Python - zbožňovaný lidmi?
« Odpověď #337 kdy: 14. 12. 2017, 11:44:24 »
Může někdo z těch, co říkají, jak je Python nepoužitelný na velké projekty, definovat, co u něj znamená "velký projekt"? Ty známé příklady (Dropbox, BitBucket, Discuss, Mozilla Add-ons) já osobně za celkem velké považuju.

Dropbox ma asi vela penazi na hardware. S dobrym load balancerom moze byt na backende hoci aj ruby.

gll

Re:Python - zbožňovaný lidmi?
« Odpověď #338 kdy: 14. 12. 2017, 11:49:34 »
příklad "refaktoringu" velkého projektu v Ruby je třeba github.

http://shayfrendt.com/posts/upgrading-github-to-rails-3-with-zero-downtime/

wsh

Re:Python - zbožňovaný lidmi?
« Odpověď #339 kdy: 14. 12. 2017, 11:58:01 »

Dropbox ma asi vela penazi na hardware. S dobrym load balancerom moze byt na backende hoci aj ruby.

Však taky nikdo neříká, že Python exceluje ve výkonosti. Ostatně proto YouTube experimentuje s převodem Python kódu do Go. Ale všechny ty řeči o nepoužitelnosti kvůli podpoře refaktoringu, absenci statickému typování apod. jsou vyvráceny pár konkrétními příklady.

Pro velké projekty má Python určité nevýhody (proto se třeba Dropbox hodně zabývá těmi type hinty), ale nepoužitelný určitě není.

Petr Mach

Re:Python - zbožňovaný lidmi?
« Odpověď #340 kdy: 14. 12. 2017, 12:02:58 »
V čem tedy ten rozdíl, to umění spočívá? Fakt by mě to zajímalo, protože v pythonu už pár let docela intenzivně dělám, java mě živí, a zatím jsem ten zásadní rozdíl ve způsobu vývoje nenašel. Ukaž srovnání na jiném kódu, když veškerý tvůj kód zaplatili klienti a sám pro sebe nic nevyvíjíš.

Pořád nechápu, jak se vyhneš otázkám na typ objektů, když musíš pracovat s jejich API.

Nemám pedagogické nadání, neumím přenést svou zkušenost a ani nevím jestli to jde. Opravdu je to o způsobu uvažování. Když jsem si tu přečetl, jak se někteří lidé snaží Python používat, instinktivně se mi ježily chlupy a běhal mráz po zádech. Celé je to špatně a nedivím se, že se jim Python s tímto způsobem používání příčí.

Je potřeba vyjít ze samotné podstaty dynamického jazyka. A tou podstatou je, že na rozdíl od statického jazyka je datový typ přiřazen hodnotě, nikoliv proměnné.  A tihle lidé se snaží v pythonu staticky typovat proměnné, protože neumí pracovat a přemýšlet jinak. Nepracujte s proměnnými, pracujte s hodnotami, dynamicky. Od tohoto paradigmatu odvíjejte návrh programu. Vím snadno se mi to řekne, ale vy nevíte jak, jde to proti vaší dosavadní zkušenosti a já nevím, jak to vysvětlit, když váš pohled na data je statický. Na typ objektu, či spíše rozhraní je dobré se ptát, ale až když ho potřebuješ, není nutné a naopak je kontraproduktivní ho definovat předem a zakazovat proměnné, aby přenášela hodnoty jiných typů. Pak kvůli tomu musíte předělávat půlku programu, když to chcete změnit, přitom stačí lehce upravit příjemce. Aby to fungovalo dobře, je potřeba si inteligentně navrhnout rozhraní, aby bylo pokud možno univerzální a flexibilní, a k tomu je zapotřebí mít zkušenost. Stejně jako ke stanovení vhodného rozvržení kódu a jeho granularity, aby obstál erozi časem.

dustin

Re:Python - zbožňovaný lidmi?
« Odpověď #341 kdy: 14. 12. 2017, 12:03:44 »
Pro velké projekty má Python určité nevýhody (proto se třeba Dropbox hodně zabývá těmi type hinty), ale nepoužitelný určitě není.

Vždyť o tom celou dobu mluvím - proto řeší typehinty, aby s tím měli méně práce. Začít od nuly s něčím jiným je obrovský náklad a riziko.

pp

Re:Python - zbožňovaný lidmi?
« Odpověď #342 kdy: 14. 12. 2017, 12:16:37 »
Pro velké projekty má Python určité nevýhody (proto se třeba Dropbox hodně zabývá těmi type hinty), ale nepoužitelný určitě není.

Vždyť o tom celou dobu mluvím - proto řeší typehinty, aby s tím měli méně práce. Začít od nuly s něčím jiným je obrovský náklad a riziko.

A nebo rovnou můžeš použít jakyk, který to umí rovnou a nemusíš to nějak obcházet. Python frčí, protože v IT jsou i lidi, kteří nikdy vývoj neviděli a Python jim přijde fajn. Proč ho vůbec používáš?

Petr Mach

Re:Python - zbožňovaný lidmi?
« Odpověď #343 kdy: 14. 12. 2017, 12:19:02 »
Tady je na to pěkná úvaha, sice jiný jazyk, ale stejný problém, programátoři (javy), kteří nechtějí přijmout jiné paradigma: http://radify.io/blog/type-hinting-in-php-good-or-bad-practice/

pp

Re:Python - zbožňovaný lidmi?
« Odpověď #344 kdy: 14. 12. 2017, 12:29:05 »
Tady je na to pěkná úvaha, sice jiný jazyk, ale stejný problém, programátoři (javy), kteří nechtějí přijmout jiné paradigma: http://radify.io/blog/type-hinting-in-php-good-or-bad-practice/

Vidím tam jen lopatu, která si myslí, že bez typů lze vyvíjet. Hlavně tam píše nesmysly o DI. Rozhraní se používala ještě před DI a to dost značně. Python je nepotřebuje, protože je to jen taková dětská hračka. Asi jako kolo s přídavnými kolečky, aby sis trochu osahal jízdu.