Má Python budoucnost?

Kit

Re:Má Python budoucnost?
« Odpověď #45 kdy: 05. 05. 2016, 13:20:28 »
No jo, ale myslí někdo na ostatní projekty, které tu třídu používají? Ty se z toho musí zhroutit.

Název třídy a metod musí odpovídat doméně -- tedy já jsem na to přistoupil a můj život je jednodušší -- dřív jsem byl takový "kreativní" v pojmenovávání .) Pokud se to API ustálí, chápu tvoji poznámku, ale že bych nemusel přejmenovávat metody a třídy v rané fázi vývoje se mi osobně nestává. A že Python na tom není v tomhle ohledu dobře je pravda.

Je fakt, že někdy mám trochu problém, zda novozu metodu pojmenovat add() vs. insert(), resp. delete() vs. remove(), ale většinou to rychle vyřeším a dále ten název už nemám důvod měnit.

Veřejné metody často pojmenovávám podle rozhraní a tam už vůbec není důvod diskutovat o názvu metody. To se samozřejme Pythonu příliš netýká.


jose_d__nepr

Re:Má Python budoucnost?
« Odpověď #46 kdy: 05. 05. 2016, 13:24:35 »
vědecké výpočty,…
no to je úplně jiný sektor.. icc, ifortran..

čumil

Re:Má Python budoucnost?
« Odpověď #47 kdy: 05. 05. 2016, 13:44:49 »
Překvapivě, Python budoucnost má, stejně tak i Ruby (podle některých umírající).

gamer

Re:Má Python budoucnost?
« Odpověď #48 kdy: 05. 05. 2016, 13:55:47 »
vědecké výpočty,…
no to je úplně jiný sektor.. icc, ifortran..
Ale není: https://www.scipy.org/

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Má Python budoucnost?
« Odpověď #49 kdy: 05. 05. 2016, 16:50:02 »
ftp://
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?

Žádný kompilátor nedokáže vygenerovat všechny potřebné testy.
To je fakt. Než jen většinu, to raději žádný.


BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Má Python budoucnost?
« Odpověď #50 kdy: 05. 05. 2016, 16:59:22 »
Ale dokáže vygenerovat nepotřebné testy, ...
Docela by mě zajímal příklad takového nepotřebného testu. Jen abych si udělal představu, co máte na mysli.

Kit

Re:Má Python budoucnost?
« Odpověď #51 kdy: 05. 05. 2016, 17:22:40 »
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?

Žádný kompilátor nedokáže vygenerovat všechny potřebné testy.
To je fakt. Než jen většinu, to raději žádný.
[/quote]

Žádný test nelze vygenerovat zcela automaticky. Do každého je minimálně nutné dosadit parametry, které žádný kompilátor sám nedosadí. A stejně se pak ty testy musí ručně opravovat.

Youda

Re:Má Python budoucnost?
« Odpověď #52 kdy: 05. 05. 2016, 18:20:26 »
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 ...
To je hloupost.
Zatimco monoliticky COBOL plny bugu a bezpecnostnich der se bud necha deravy, nebo prepise zgruntu, v pripade FW se updatuje podle readme (casto automaticky), nebo se to necha derave na starem FW stejne jako ten COBOL. Tedy situace je MNOHEM lepsi.
Jinak ohledne  budoucnosti Opensource FW, konkretne Apache Foundation verim mnohem vic, nez treba Oraclu, ktery se vykalel na Javu FX a dal ji do sveta, at se toho nekdo opensource chytne (a kdyz se nikdo nechytne, tak to zdechne), nebo treba MS, ktery zrusil Silverlight bez nahrady.
... 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.
Nesmysl, automaticke testy slouzi k tomu, aby se peridicky re-testoval kod pred kazdym commitem, tedy aby byli testeri usetreni opici prace a mohli se soustredit na dulezitejsi vec. Maven ma test phase primo ve svem build lifecyclu.
Co jsem videl vyvoj v realnych firmach, kde nejsou uplni matlaci, tak vesmes plati:
- Kod je v GITu a kazdy si hraje na svem forku
- lokalni buildy ridi Maven, ktery spousit Unit testy, Mock integracni testy (napr. Mockito), pripadne SeleniumHQ na E2E testy. Maven zaroven automaticky hlida  unit test coverage, kazdy koder musi plne pokryt svuj kod testy, pripadne zduvodnit, proc to nejde.
- kdyz to lokalne proslo, muze koder mergovat do hlavniho branche GITu
- nad hlavnim branchem GITu se v Bamboo spousti nightbuildy (opet s hromadou testu), kdyz to spadne, Bamboo praskne, kdo to zku*rvil.
- jednou za cas se udela release, main branch se vystavi na lokalnim Nexusu jako maven artefact, vichni si updatujou pom.xml na tento novy artefarct a jede se dal.

Rozumny vyvoj bez automatickeho testovani je naprosty nesmysl.

Re:Má Python budoucnost?
« Odpověď #53 kdy: 05. 05. 2016, 18:39:49 »
Žádný test nelze vygenerovat zcela automaticky. Do každého je minimálně nutné dosadit parametry, které žádný kompilátor sám nedosadí. A stejně se pak ty testy musí ručně opravovat.

A co QuickCheck?

Kit

Re:Má Python budoucnost?
« Odpověď #54 kdy: 05. 05. 2016, 18:50:52 »
Žádný test nelze vygenerovat zcela automaticky. Do každého je minimálně nutné dosadit parametry, které žádný kompilátor sám nedosadí. A stejně se pak ty testy musí ručně opravovat.

A co QuickCheck?

To jsem zvědav, jak automaticky sám vygeneruje testy, když ještě nemáš ani jeden řádek cílového programu. Minimálně mu musíš vyjmenovat, co ten program (třída, modul, ...) musí umět. A to je také ruční práce.

jasněno

Re:Má Python budoucnost?
« Odpověď #55 kdy: 05. 05. 2016, 19:15:37 »
Jasný, test bez kódu je nejlepší :D Můžeš je pouštět po večerech a třeba jednou dopsat i ten kód... obvykle to totiž funguje naopak, ale to nesmíš používat bastly jako Python nebo PHP.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Má Python budoucnost?
« Odpověď #56 kdy: 05. 05. 2016, 19:22:46 »

Žádný kompilátor nedokáže vygenerovat všechny potřebné testy.
To je fakt. Než jen většinu, to raději žádný.

Žádný test nelze vygenerovat zcela automaticky. Do každého je minimálně nutné dosadit parametry, které žádný kompilátor sám nedosadí. A stejně se pak ty testy musí ručně opravovat.
I kdyby to byla pravda (jakože není) - no a?

Kit

Re:Má Python budoucnost?
« Odpověď #57 kdy: 05. 05. 2016, 19:25:42 »
Jasný, test bez kódu je nejlepší :D Můžeš je pouštět po večerech a třeba jednou dopsat i ten kód... obvykle to totiž funguje naopak, ale to nesmíš používat bastly jako Python nebo PHP.

No tak nejprve si v editoru nejprve napíši vedle sebe několik slov (obvykle 3-5) a nechám si z nich vygenerovat kostru třídy včetně lokálních atributů a testů. A to v PHP i Pythonu. Samozřejmě musím následně dopsat i parametry a očekávané výsledky testů, ale nevidím nic, co by mi nějaké IDE mohlo zefektivnit.

gl

Re:Má Python budoucnost?
« Odpověď #58 kdy: 05. 05. 2016, 20:23:18 »
Žádný test nelze vygenerovat zcela automaticky. Do každého je minimálně nutné dosadit parametry, které žádný kompilátor sám nedosadí. A stejně se pak ty testy musí ručně opravovat.

A co QuickCheck?

To generuje pouze náhodná vstupní data. Testy musíte psát ručně. Nevím jak moc je to užitečné. Neprovádí to zbytečně moc nadbytečných testů? Většinou stačí otestovat okrajové případy a nějaká malá data.

kozzi

Re:Má Python budoucnost?
« Odpověď #59 kdy: 05. 05. 2016, 22:40:57 »
Dobrý programátor by měl být schopný vývoje app i v nano, vi etc.... ;-)

IDE je jen práci ulehčující nadstavba :-)

Schopny mozna, ale proc by v tom mel chtit delat?

Navic ta efektivita by byla uboha - bez navigace (orientace ve stovkach trid musi byt fakt terno), refaktorovani (i hloupe prejmenovani jedne metody na desitkach mist muze trvat hodiny [nejlepe pokud se stejne jmenuji i metody z jinych trid], zatimco v poradnem IDE je to na par vetrin), debugovani, ... Pokud firma nekoho nuti psat v Jave ve Vimu/Nano, tak jsou teda solidne padli na hlavu.

Vsak jsi to napsal sam :-)

Napovidani, ulehcovani, psani kusu kodu za Tebe :-) K tomu je IDE dobre ano :-)

Proto taky kazdy "programator" musi jedine delat v IDE :-)

Ano, kazdy profesionalni programator v Jave (a minimalne v jakemkoliv statickem jazyce) musi jedine delat v IDE. V opacnem pripade budto "okrada" zamestnavatele nebo sebe, v kazdem pripade to ukazuje na jeho (o vyhazov rikajici si) neschopnost zvolit spravny nastroj ;).

Ono je to mozna spis opacne. Ted mam na mysli tu zavorku o staticky typovanem jazyce. Jelikoz napriklad v PHP, ve kterem v praci programujem, je IDE mnohem dulezitejsi nez jinde. To co nam PhpStorm umoznuje je opravdu k nezaplaceni. Z netypovaneho jazyka nam to umoznuje pracovat jako s typovanym a vetsina chyb je objevena mimo runtime. U kompilovanych (prekladanych to znamena pocitam jsem i javu atd) je vyhodou to ze spousta chyb je objevena behem prekladu, takze spousta chyb je odchycena jiz behem vyvoje i bez IDE. Ale u jazyku jako je PHP, Ruby ci Python je to horsi. Tam je dobre IDE opravdu prinosem.

Jinak jsem zastancem nazoru ze kvalitni IDE je dulezite. Osobne pouzivam VIM nekolik let, a sam jsem driv tvrdil ze IDE neni treba a VIM staci. Ale praxe ukazala ze kvalitni vyvojove prostredi ma sve vyhody :)