Má Python budoucnost?

gl

Re:Má Python budoucnost?
« Odpověď #15 kdy: 03. 05. 2016, 23:01:55 »
"přes inspect.getouterframes zjistíme kdo funkci volá a podle toho se budeme chovat"

Co navrhujete? Zakázat to? Co všechno byste zakázal? Když se Vám nějaká funkcionalita nelíbí, tak jí nepoužívejte.
Zrovna tahle funkce má praktická použití.


Ondrej

Re:Má Python budoucnost?
« Odpověď #16 kdy: 04. 05. 2016, 07:16:18 »
Jak zmiňuje Kit, testy. Které ale na druhou stranu nejsou povinné, čili o krok blíž k prasení a možnosti chyb, když testy nejsou. Nicméně i to není vlastně tolik pravda, ve firmách které to s Pythonem myslí vážně se bez testů neobejdeš.
Pokud je někde problém s výkonem, i python se dá optimalizovat, je toho plnej google a i fajn blogy na dropboxu...

Pak je samozřejmě taky možnost že testy jsou (dokonce jich je hodně), ale jsou k ničemu. Pokud se budeme bavit o korporacích tak nesmíme zapomenout na code reviews, že... které jsou k ničemu pokud kód schvalují lidé kteří neví co provádí a berou code review jenom jako něco co jim brání commitovat.
Ano, Python jde optimalizovat a docela dobře, jediné co jsem tvrdil je že Python sám o sobě optimalizace neprovádí (ve smyslu kompilovaných jazyků).

Co navrhujete? Zakázat to? Co všechno byste zakázal? Když se Vám nějaká funkcionalita nelíbí, tak jí nepoužívejte.
Zrovna tahle funkce má praktická použití.

Prakticky se to dá použít možná pro ladění, ale výstup funkce má být dán jejími vstupy, ne kontextem ve kterém je volána. Já tuhle funkcionalitu nepoužívám, ale najde se dost lidí kteří ano (v produkčním kódu) a jakýkoliv refaktoring je pak hrozně složitý.

gl

Re:Má Python budoucnost?
« Odpověď #17 kdy: 04. 05. 2016, 14:33:01 »
Jak zmiňuje Kit, testy. Které ale na druhou stranu nejsou povinné, čili o krok blíž k prasení a možnosti chyb, když testy nejsou. Nicméně i to není vlastně tolik pravda, ve firmách které to s Pythonem myslí vážně se bez testů neobejdeš.
Pokud je někde problém s výkonem, i python se dá optimalizovat, je toho plnej google a i fajn blogy na dropboxu...

Pak je samozřejmě taky možnost že testy jsou (dokonce jich je hodně), ale jsou k ničemu. Pokud se budeme bavit o korporacích tak nesmíme zapomenout na code reviews, že... které jsou k ničemu pokud kód schvalují lidé kteří neví co provádí a berou code review jenom jako něco co jim brání commitovat.
Ano, Python jde optimalizovat a docela dobře, jediné co jsem tvrdil je že Python sám o sobě optimalizace neprovádí (ve smyslu kompilovaných jazyků).

Co navrhujete? Zakázat to? Co všechno byste zakázal? Když se Vám nějaká funkcionalita nelíbí, tak jí nepoužívejte.
Zrovna tahle funkce má praktická použití.

Prakticky se to dá použít možná pro ladění, ale výstup funkce má být dán jejími vstupy, ne kontextem ve kterém je volána. Já tuhle funkcionalitu nepoužívám, ale najde se dost lidí kteří ano (v produkčním kódu) a jakýkoliv refaktoring je pak hrozně složitý.

Viděl jsem použití pro implementaci dynamického scopování. Něco jako local v perlu.

x

Re:Má Python budoucnost?
« Odpověď #18 kdy: 04. 05. 2016, 15:23:10 »
budoucnost je perl 6

Tam je jedina otazka ci perl 6 bude nekdy soucasnost nebo ne :)

mikrom

Re:Má Python budoucnost?
« Odpověď #19 kdy: 04. 05. 2016, 22:32:59 »
Takže se ptám: Má PYTHON budoucnost?

Urcite ano - ma buducnost.
Python je super jazyk - battery included, ak potrebujes rychlo vyriesit nejaky problem: napr. reporty z databazy, spracovanie textu, generovanie kodu na zaklade dat ... atd.
Ja som s nim zacal pred vyse 10 rokmi a napisal som v nom aj nejake utility, ktore u nas vo firme pouzivaju vyvojari doteraz, pretoze nikto nenasiel silu urobit nieco lepsie v Jave :-)

Z mojej strany jedina nevyhoda je povinne odsadzovania riadkov.
Na prvy pohlad to sice zvysuje citatelnost, ale treba si dat pozor aby sa nepomiesali medzery s tabulatormi. Mne sa to stalo ked som skripty robil aj v praci aj doma, pretoze v praci som mal inac nastaveny editor (vim) ako doma. Zistil som to az po rokoch, ked som sice fungujuce zdrojaky otvoril v inom editore a bolo to zle odsadene raz tabulatory a raz medzery. Fungovalo to sice, ale pre vlastne uspokojenie som napisal script ktory formatovanie opravil.

Kazdopadne sa nauc nejaky main stream skriptovaci jazyk: perl, python, ruby. Rozsiri ti to obzor a zvysi produktivitu. Uvidis, ze to ma oproti Jave vyhodu hlavne v rychlosti vyvoja a nepotrebujes k tomu ani ziadne vyvojove prostredie, staci dobry editor (ako vim).  V praxi je to tak, ze kym javista este len bude kreslit UML diagramy, tak pythonista (alebo perlista) ma uz ulohu davno hotovu ...
To ze tu niekto pise ze nejde refaktoring je totalna blbost. Skriptovacie jazyky su urcene na mensie veci a ak napises program dobre modularne nepotrebujes ho spravidla nikdy refaktorovat. Niektori Javisti su prilis zviazani s vyvojovym prostredim a preto pre mna neupotrebitelni. Poznam ludi ktori nie su ochotni robit v eclipse, ale iba v IntelliJ IDEA. Taketo typky fakt nemam rad.
 
Na druhej strane skriptovacie jazyky sa nepouzivaju na enterprise aplikacie, napr. u nas vo firme pouzivame iba Javu a COBOL.

Zaver:
Dobry programator nema problem naucit sa rychlo nejaky iny jazyk. Okrem enterprise jazyka sa nauc pouzivat aj skriptovacie utility ako bash, awk, perl, python, ruby ... vyznamne ti to zlahci zivot.


mikrom

Re:Má Python budoucnost?
« Odpověď #20 kdy: 04. 05. 2016, 22:44:00 »
... bych spíš použil AngelScript ...
Toto mi pripada ako vyplody bujnej fantazie. O tom jazyku som nikdy nepocul a podla mna nemoze mat zdaleka take kniznice ako Python, t.j. ani uplatnenie.
 

mikrom

Re:Má Python budoucnost?
« Odpověď #21 kdy: 04. 05. 2016, 22:52:25 »
Python je celkem hezký jazyk s poměrně dost nedostatky, a pokud by nebylo Django, NumPy, pandas a IPython/Jupyter, byl by už dávno mrtvý (můj názor).

To je totalna akademicka blbost, NumPy patri tak na (vysoke) skoly.
Tie moduly som nikdy nepouzil, ale pouzil som napriklad moduly na pristupy do databazy, parsovanie XML, generovanie PDF, ... atd.

mikrom

Re:Má Python budoucnost?
« Odpověď #22 kdy: 04. 05. 2016, 23:20:38 »
Dnesni programovani je hlavne o frameworkach - a zdaleka nejvyssi nabidku mas v Jave.
Zalozit aplikacie na open source frameworkoch je kamen urazu. Potom ked budes potrebovat update na aktualny framework uvidis kolko ta to bude stat.
Kedysi vsetci nadavali na stare monoliticke COBOL aplikacie. Ukazuje sa ale, ze tie boli uplne idealne, neboli zavisle na nicom, na ziadnych frameworkoch. Raz sa to naprogramovalo a potom to bezalo s malymi upravami dalsich 20 rokov ...

... Unit testy a mockovani ...
To je tiez ako kedy. Ak mas kvalifikovanych programatorov a testerov, ktori sa vyznaju v problematike tak to spravidla nepotrebujes. V tom pripade je to iba strata casu.
Casto sa za tymi poziadavkami skryvaju len paraziti, ktori sa tym zivia - napriklad rozni test a release manageri.
Ale samozrejme ale outsourcujes a programuju ti to niekde v Indii tak to nutne potrebujes.

Dnes se hypuje funkcionalni programovani
Myslim, ze toto sa snazi ujat uz niekolko dekad, ale je to pre beznych programatorov dost  nezrozumitelne, takze sa to neujme.

Kit

Re:Má Python budoucnost?
« Odpověď #23 kdy: 04. 05. 2016, 23:43:57 »
To je tiez ako kedy. Ak mas kvalifikovanych programatorov a testerov, ktori sa vyznaju v problematike tak to spravidla nepotrebujes. V tom pripade je to iba strata casu.

Ztrátou času je, když ten, kdo píše testy je někdo jiný než ten, kdo píše produkční kód. Ten test pak nemáš šanci spustit třeba 20× za hodinu. Když obojí píšeš sám, tak to zvládneš naprosto v pohodě i častěji.

mikrom

Re:Má Python budoucnost?
« Odpověď #24 kdy: 04. 05. 2016, 23:53:01 »
To je tiez ako kedy. Ak mas kvalifikovanych programatorov a testerov, ktori sa vyznaju v problematike tak to spravidla nepotrebujes. V tom pripade je to iba strata casu.

Ztrátou času je, když ten, kdo píše testy je někdo jiný než ten, kdo píše produkční kód. Ten test pak nemáš šanci spustit třeba 20× za hodinu. Když obojí píšeš sám, tak to zvládneš naprosto v pohodě i častěji.
Problemom je, zu programator sa uolne nevyzna v odbornej (produkcnej) problkematike a ani sa tym nechce hlbsie zaoberat, pretoze ho to nebavi.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Má Python budoucnost?
« Odpověď #25 kdy: 05. 05. 2016, 00:36:22 »
Prasit se sice dá v jakémkoliv jazyce, ale jazyky se silnou typovou kontrolou, const, private/internal a interfacy celkem hodně omezují místa kde je možné něco zkazit...

Python má silnou typovou kontrolu.
Teoreticky ano, prakticky je k ničemu.

Pokud máš dobře napsané testy pro skripty v Pythonu nebo i v PHP, tak typovou kontrolu kompilátoru nepotřebuješ.
Ano, tedy zbytečná práce navíc.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Má Python budoucnost?
« Odpověď #26 kdy: 05. 05. 2016, 00:40:39 »
Dnesni programovani je hlavne o frameworkach - a zdaleka nejvyssi nabidku mas v Jave.
Zalozit aplikacie na open source frameworkoch je kamen urazu. Potom ked budes potrebovat update na aktualny framework uvidis kolko ta to bude stat.
Kedysi vsetci nadavali na stare monoliticke COBOL aplikacie. Ukazuje sa ale, ze tie boli uplne idealne, neboli zavisle na nicom, na ziadnych frameworkoch. Raz sa to naprogramovalo a potom to bezalo s malymi upravami dalsich 20 rokov ...
Máš tam logickou chybu: Co dělali vývojáři COBOL aplikace, když potřebovali updatovat? Co brání dnešní aplikaci, aby si zmrazila verzi FW kterou používá?

Kit

Re:Má Python budoucnost?
« Odpověď #27 kdy: 05. 05. 2016, 01:31:41 »
Pokud máš dobře napsané testy pro skripty v Pythonu nebo i v PHP, tak typovou kontrolu kompilátoru nepotřebuješ.
Ano, tedy zbytečná práce navíc.

Skutečně si spousta programátorů dodnes myslí, že psaní testů je jen zbytečná práce navíc. Bohužel.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Má Python budoucnost?
« Odpověď #28 kdy: 05. 05. 2016, 04:28:13 »
Pokud máš dobře napsané testy pro skripty v Pythonu nebo i v PHP, tak typovou kontrolu kompilátoru nepotřebuješ.
Ano, tedy zbytečná práce navíc.

Skutečně si spousta programátorů dodnes myslí, že psaní testů je jen zbytečná práce navíc. Bohužel.
A někteří programátoři si myslí, že když ty testy napíšou ručně, bude to efektivnější, než když jim ty testy vygeneruje kompilátor, že?

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Má Python budoucnost?
« Odpověď #29 kdy: 05. 05. 2016, 09:25:58 »
Uvidis, ze to ma oproti Jave vyhodu hlavne v rychlosti vyvoja a nepotrebujes k tomu ani ziadne vyvojove prostredie, staci dobry editor (ako vim).  V praxi je to tak, ze kym javista este len bude kreslit UML diagramy, tak pythonista (alebo perlista) ma uz ulohu davno hotovu ...

Takze "profik" pythonista/perlista neco rychle splaca, nezdokumentuje nic a pokud se nedejboze zjisti, ze se zmenily pozadavky, tak se to musi zahodit a napsat znovu.

To ze tu niekto pise ze nejde refaktoring je totalna blbost. Skriptovacie jazyky su urcene na mensie veci a ak napises program dobre modularne nepotrebujes ho spravidla nikdy refaktorovat.

No, refaktoring je velky problem. Sam jsi to nevyvratil, jen jsi napsal, ze "dobry" programator nikdy nerefaktoruje. A nikdy se mu nezmeni zadani. A nikdy nebudou pribyvat nove vlastnosti. :D Takova utopie...

Niektori Javisti su prilis zviazani s vyvojovym prostredim a preto pre mna neupotrebitelni.

To, ze tobe se nehodi, asi nikoho moc nezajima.

Poznam ludi ktori nie su ochotni robit v eclipse, ale iba v IntelliJ IDEA. Taketo typky fakt nemam rad.

No, to bys me asi nemel rad, ja ostatne tebe asi taky ne. Kdyz clovek dela v jednom prostredi roky a zna vsechny potrebne zkratky a chovani, tak je hloupost prechazet na jine, v tomto pripade i objektivne mnohem horsi, prostredi. (A to ani nedelam v Jave.)

Doufam, ze zase nekdo nezacne tvrdit, jak Vim je skvele IDE pro Javu a pak pri prvni ukazce refaktorovani z opravdovem IDE sklapne a radsi se uz ani neozve.
 
Na druhej strane skriptovacie jazyky sa nepouzivaju na enterprise aplikacie, napr. u nas vo firme pouzivame iba Javu a COBOL.

Mozna si spatne vykladam slovo enterprise, ale napr. takovy Google nebo Quora maji (meli?) casti v Pythonu.

Zaver:
Dobry programator nema problem naucit sa rychlo nejaky iny jazyk. Okrem enterprise jazyka sa nauc pouzivat aj skriptovacie utility ako bash, awk, perl, python, ruby ... vyznamne ti to zlahci zivot.

Celkem souhlas. Naucit/zkusit si alespon zakladny popsanych je urcite dobre. Alespon pak clovek vi, az bude potrebovat neco automatizovat, jaky nastroj by se na to asi mohl hodit.