Python - zbožňovaný lidmi?

dotaz

Re:Python - zbožňovaný lidmi?
« Odpověď #210 kdy: 11. 12. 2017, 20:07:13 »
A už se dá v Pythonu dělat refactoring? V běžných jazycích věc pár vteřin a u Pythonu to nikdy nefungovalo. Vážně se to pak hodí na větší věci?


armabeton

Re:Python - zbožňovaný lidmi?
« Odpověď #211 kdy: 11. 12. 2017, 20:52:12 »
A už se dá v Pythonu dělat refactoring? V běžných jazycích věc pár vteřin a u Pythonu to nikdy nefungovalo. Vážně se to pak hodí na větší věci?

Definuj napřed běžný jazyk :-) Podle Tiobe i podle OpenHubu je Python běžným jazykem, běžnějším než například JavaScript (ale asi na Root chodí hodně develů webovek a málo lidí z ML a podobných oborů).

dotaz

Re:Python - zbožňovaný lidmi?
« Odpověď #212 kdy: 11. 12. 2017, 21:16:55 »
Na root evidentně chodí jen patlalové frčící na Python vlně, která už ani není v módě. Už to tu někdo psal. Udělal refactoring a půlka kódu přestala fungovat. Tak mě jen napadlo, jestli už to v Pythonu jde a nebo je to jako v každém dynamicky typovaném jazyce - nejde. Tím by pak bylo řečené úplně vše a není třeba řešit, jestli je na něco použitelný.

Takže běžný jazyk je ten, ve kterém se dají dělat velké věci a funguje tam refactoring ;D

Hilderbert

Re:Python - zbožňovaný lidmi?
« Odpověď #213 kdy: 11. 12. 2017, 21:18:18 »
Citace
Python je přehledný až intuitivní.  A to i díky odsazování. Že se najde pár jedinců, kterým to vadí na věci nic nemění.

Jak jsem psal už asi dvakrát, nejde o "odsazování", ale o "jen odsazování". Pro mě je "jen odsazení" bez závorek prostě nečitelné a nepřehledné. Při čtení cizího robustního kódu je to prostě problém. Na Pythonu mi bohužel nic přehledného nepříjde a už vůbec ho nevnímám jako intuitivní.

Takový zápis je pro mě noční můra, žádný začátek, žádný konec, žadné ohraničení for, prostě nic. Proč to tedy rovnou nepsat v jednom řádku?

Kód: [Vybrat]
for list in list_of_lists:
    for x in list:
        print x

Má to začátek i konec a je z toho krásně zřejmé, kde začíná nový blok. Jestli to nevidíš, tak máš nějakou vzácnou poruchu vnímání. Naopak spousta vnořených závorek u C, JavaScriptu atd. je evidentně nepřehledná, a proto si stejně každý programátor pomáhá odsazováním, tedy grafickým způsobem.

Pythonu lze vyčíst, že jeho kód nelze 'komprimovat' po vzoru *.min.js, ale rozhodně ne nepřehlednost.

Hilderbert

Re:Python - zbožňovaný lidmi?
« Odpověď #214 kdy: 11. 12. 2017, 21:24:47 »
Na root evidentně chodí jen patlalové frčící na Python vlně, která už ani není v módě. Už to tu někdo psal. Udělal refactoring a půlka kódu přestala fungovat. Tak mě jen napadlo, jestli už to v Pythonu jde a nebo je to jako v každém dynamicky typovaném jazyce - nejde. Tím by pak bylo řečené úplně vše a není třeba řešit, jestli je na něco použitelný.

Takže běžný jazyk je ten, ve kterém se dají dělat velké věci a funguje tam refactoring ;D
Snaha ohnout realitu. Běžný jazyk je ten, který se běžně používá. A celý tento thread vzniknul právě na popud toho, že Python je čím dál tím víc populárnější.

Refactoring je věc IDE nikoliv jazyka a světe div se, řada programátorů ho nepotřebuje, protože dobrovolně používá IDE, který ho neumí.


dotaz

Re:Python - zbožňovaný lidmi?
« Odpověď #215 kdy: 11. 12. 2017, 21:29:48 »
OK, tak je to třeba dobrý jazyk pro neprogramátory. Jako třeba Baltík. Víc populární? Asi jako Bitcoin. Kdo ho asi používá...

Aha, takže IDE by to mohlo umět, ale neumí. Jakou magii by IDE použilo? Černou? A "programátor" nechce vyvíjet, tak radši nepoužije vhodné nástroje. Jako zabít hřebík jde i trubkou od topení, že jo, ale profík to dělat běžně nebude.

Přijde mi, že podobné nesmysly tu čtu pokaždé. Nemám nic proti Pythonu, jen se ptám. Ale tohle přece nemůže nikdo myslet vážně.

Hilderbert

Re:Python - zbožňovaný lidmi?
« Odpověď #216 kdy: 11. 12. 2017, 21:45:50 »
Určitě je to dobrý jazyk pro neprogramátory, např. v akademické sféře se uchytil velmi dobře. A určitě ne pro svoji kryptičnost a nečitelnost, z které ho někteří obviňují. Zrovna tak je to výborný první jazyk pro výuku programování.

Obecně se uchytil tam, kde není potřeba úspornost a vysoký výkon, byť začal pronikat i na mikročipy. Jeho výhodou je jednoduchost a vysoká efektivita vývoje. Proto se hodně používá.

S nadsázkou lze říct, že refactoring je potřeba pro nezkušené programátory, pro začátečníky, kteří nedovedou odhadnout potřeby a neustále prasí a místo vývoje předělávají svůj kód.

Co se týče hřebíků, ty se nezabíjejí, ale zatloukají nebo nastřelují. A Python je pořádné kladivo na spoustu problémů a profíci ho proto běžně použíají. To je fakt, se kteým se budete muset smířit.

ByCzech

  • *****
  • 1 848
    • Zobrazit profil
    • E-mail
Re:Python - zbožňovaný lidmi?
« Odpověď #217 kdy: 11. 12. 2017, 22:07:47 »
A už se dá v Pythonu dělat refactoring? V běžných jazycích věc pár vteřin a u Pythonu to nikdy nefungovalo. Vážně se to pak hodí na větší věci?

Proč by to nemělo fungovat? http://www.pydev.org/manual_adv_refactoring.html

Hilderbert

Re:Python - zbožňovaný lidmi?
« Odpověď #218 kdy: 11. 12. 2017, 22:27:05 »
A už se dá v Pythonu dělat refactoring? V běžných jazycích věc pár vteřin a u Pythonu to nikdy nefungovalo. Vážně se to pak hodí na větší věci?

Proč by to nemělo fungovat? http://www.pydev.org/manual_adv_refactoring.html
Protože jemu v nějakém jeho IDE něco nefungovalo a tak je jasné, že to Python neumí. Ono toto tvrzení samo o sobě je nesmyslné a vyplývající z nepochopení, co to refactoring vlastně je. Každý jazyk umožňuje refactoring. Řeč by tak měla jít o automatizovaném rf, kde je to hlavně o schopnostech ide. Ale někteří lidé, zvyklí na bloatware IDE, si bez jeho pomoci už neumí refactoring ani ředstavit.

ByCzech

  • *****
  • 1 848
    • Zobrazit profil
    • E-mail
Re:Python - zbožňovaný lidmi?
« Odpověď #219 kdy: 11. 12. 2017, 23:00:14 »
Protože jemu v nějakém jeho IDE něco nefungovalo a tak je jasné, že to Python neumí.

Jo všiml jsem si u jeho dalších příspěvků, že to nechápe. Refactoring je opravdu věcí IDE nikoli jazyka, pokud si někdo myslí, že to má/musí podporovat jazyk, je úplně mimo.

Z Wikipedie:

Citace
Podpora refaktoringu

Některé postupy při refaktorování je možné přesně definovat a zcela automatizovat a dnes je již v moderních vývojových prostředích jako je Eclipse a další nabízena podpora při refaktoringu. Technika vyjmout metodu z dlouhé metody již tedy není vůbec složitá a prakticky u něj nemusíte ani moc přemýšlet, udělá jej za vás program. Někteří si při psaní kódu ani neuvědomují, že např. změna názvu proměnné je také refaktoring, který za nás provede program, avšak dříve tato změna byla velmi náročná.

Na stejné stránce je také upozornění, že se s refactoringem musí opatrně...

Citace
Jak správně refaktorovat

Pokud refaktoring zcela neovládáme, může být velice riskantní, jelikož upravujeme funkční kód a touto úpravou si do kódu můžeme zavést velice záludné chyby a program již nemusí být funkční. Proto mezi hlavní zásadu patří mít před samotným refaktorováním připravenou dobrou sadu testů, kterou spustíme po každé změně.

Další důležitá zásada je refaktorovat po malých krocích a to neustále a ihned testovat, zda nám někde nevznikla chyba. Většina programátorů provádí refaktoring, aniž by o něm věděla, jelikož jedna z nejdůležitějších zásad programátora je, aby ve svém kódu neměl duplicity. Když nějakou duplicitu objeví, snaží se jí zbavit, a to většinou nevědomky refaktoringem, a to konkrétně postupem vyjmout metodu.

Takže pokud si někdo něco refactoringem rozbil, tak to bude spíš než chyba jazyka (vyloučeno, jazyk refactoring na starosti nemá) nebo chyba IDE (refactoring je velmi nebezpečná věc a měla by se s tímto vědomím používat) s největší pravděpodobností jeho vlastní neznalost a nešikovnost jak takovou mocnou věc používat.

D.A. Tiger

  • ****
  • 486
  • Tygr, který žere tučňáka ;-)
    • Zobrazit profil
    • E-mail
Re:Python - zbožňovaný lidmi?
« Odpověď #220 kdy: 11. 12. 2017, 23:02:08 »
[Ivan Nový]
Ptal jste se mne "A co se vám na Pythonu nelíbí?". Chtel jsem Vam odpovedet reakci na prispevek kolegy

[dotaz]
"OK, tak je to třeba dobrý jazyk pro neprogramátory."

Ale zjistil jsem, ze je to jednak na dlouho (a ja zitra vstavam do rachoty :-D ) a jednak si to jeste poradne promyslim. Docela kandidat na zapisek do blogu. Dik za inspiraci a az bude hotov pastnu sem link. Doufam, ze to nevadi...

Ivan Nový

Re:Python - zbožňovaný lidmi?
« Odpověď #221 kdy: 11. 12. 2017, 23:14:22 »
[Ivan Nový]
Ptal jste se mne "A co se vám na Pythonu nelíbí?". Chtel jsem Vam odpovedet reakci na prispevek kolegy

[dotaz]
"OK, tak je to třeba dobrý jazyk pro neprogramátory."

Ale zjistil jsem, ze je to jednak na dlouho (a ja zitra vstavam do rachoty :-D ) a jednak si to jeste poradne promyslim. Docela kandidat na zapisek do blogu. Dik za inspiraci a az bude hotov pastnu sem link. Doufam, ze to nevadi...
Budu se těšit

mikrom

Re:Python - zbožňovaný lidmi?
« Odpověď #222 kdy: 11. 12. 2017, 23:36:00 »
To je jenom o zvyku, já na Python přešel z C a zvykl jsem si velmi rychlel. Naopak už bych se nechtěl vracet k C.
To je "nevyhoda" Pythonu. Kto raz v nom zacne robit a zvykne si na tu obrovsku produktivitu oproti inym jazykom, tak uz nema chut robit v inom jazyku.
Jedine na com som sa ja Pythone popalil bolo odsadzovanie. Treba sa tam rozhodnut mefzi TAB a SPACE a potom to dodrziavat. Pracoval som na viacerych pocitacoch v rozne nastavenych editoroch a pomiesali sa mi TAB a SPACE . Potom ked sa ten zdrojak otvoril v nejakom inom editore (kde boli inac nastavene TABy) bolo odsadzovanie rozbite. Zistilo sa to az po dlhsej dobe a potom som to musel opravovat. Preto si myslim, ze ak Python vyriesi tento problem, bude to najlepsi jazyk. Uvital by som, keby v buducej verzii Pythonu  namiesto odsadzovania bola aj moznost davat tam end - podobne ako je to napr. v Ruby - t.j. napr, namiesto:
Kód: [Vybrat]
for list in list_of_lists:
    for x in list:
        print x
takto
Kód: [Vybrat]
for list in list_of_lists:
    for x in list:
        print x
    end
end
Tych par riadkov navyse by mi nevadilo  :)

ByCzech

  • *****
  • 1 848
    • Zobrazit profil
    • E-mail
Re:Python - zbožňovaný lidmi?
« Odpověď #223 kdy: 11. 12. 2017, 23:44:40 »
Jedine na com som sa ja Pythone popalil bolo odsadzovanie.

To je zajímavé, protože přesně z toho jsem měl největší obavy než jsem se s Pythonem začal pořádně kamarádit a přitom jsem s tím za ty roky nikdy problém neměl...

mikrom

Re:Python - zbožňovaný lidmi?
« Odpověď #224 kdy: 12. 12. 2017, 00:28:07 »
Jedine na com som sa ja Pythone popalil bolo odsadzovanie.

To je zajímavé, protože přesně z toho jsem měl největší obavy než jsem se s Pythonem začal pořádně kamarádit a přitom jsem s tím za ty roky nikdy problém neměl...
Zrejme si svoje zdrojaky editoval vzdy na tom istom PC, kde si mal nejake jendoznacne nastavenie. Ja som editoval ten isty zdrojak vselikde - v praci na PC, doma na PC, alebo na notebooku a zrejme som nemal vsade rovnako nastaveny vim.
Napodiv vsecko fungovalo, len sa zistilo, ze ked sa zdrojak otvoril v nejakom inom editore, tak bol nespravne odsadeny. Ja som vtedy pouzival vim. Pouzival som nastavenie 1TAB = 2SPACEs a k tomu este nahradzovat TAB za SPACEs, ale zrejme na inom PC (kde som to pisal) som to zabudol nastavit, takze v kode boli v konecnom dosledku aj taby aj spacy, a ked to otvorili v inom editore, kde bolo nstavenie napr TAB = 4 SPACEs tak to bolo rozhadzane. Vyslo to najavo az po niekolkych rokoch, co tie utility fungovali. Dalo sa to dost jednoducho aj opravit (vo Vime), ale predsa - opravovat takto odsadenie v starych programoch, ktore uz par rokov chodia je dost adrenalinove. Odvtedy to vnimam ako nedostatok Pythonu a nieco naco si treba davat poriadny pozor a co by bolo v buducnosti vhodne zlepsit. Odvetdy na odsadzovanie pouzivam SPACEs a po kazdej malej zmene vzdy checkujem, ci nie je v zdrojaku zabudnuty nejaky TAB.