Fórum Root.cz

Práce => Studium a uplatnění => Téma založeno: Ung 19. 12. 2018, 10:21:22

Název: Přesun od PHP k Pythonu?
Přispěvatel: Ung 19. 12. 2018, 10:21:22
Zdravím všechny, je mi úplně jasný, že tu dostanu flame za to, že dělám v PHP, ale o to tu teď nejde.  Na základě mého průzkumu a pročtení několika diskuzí tady jsem se začal zabývat otázkou, zda chci být u PHP i do budoucna, protož e ačkoliv se platově možná začínají PHP programátoři dotahovat na ostatní, tak stále je to fakt spíš podprůměr.
Obecně vzato jsem začal přogramovat před rokem a půl cca,  začínal jsem na JS, html, css  .... v práci mě naučili s SQL a PHP, kde se teď nachází většina mé pracovní náplně.

Tak jsem si říkal, zda by Python pro mě nebyl lepší. Jedná se o celkem komplexní jazyk, který se využívá v různých odvětvích, ale není tak omezen jako PHP (tím myslím že v PHP se dělaj hlavně weby).
Mohli byste mi prosím vás poradit, zda se mám vydat směrem Pythonu nebo spíš jet něco v JS typu allá Node.js nebo Angular?

Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Trupik 19. 12. 2018, 11:07:47
Že sa v PHP robia hlavne weby, neznamená, že sa v ňom nedá robiť nič iné. V PHP som videl napísané shellové skripty, systémové nástroje, úlohy cronu, démony, mailové filtre, jednoduché monitoringy, atď.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 19. 12. 2018, 14:48:02
Že sa v PHP robia hlavne weby, neznamená, že sa v ňom nedá robiť nič iné. V PHP som videl napísané shellové skripty, systémové nástroje, úlohy cronu, démony, mailové filtre, jednoduché monitoringy, atď.
Ze jsi to videl neznamena, ze se tim da uzivit.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: jeho lordstvo 19. 12. 2018, 14:54:34
Že sa v PHP robia hlavne weby, neznamená, že sa v ňom nedá robiť nič iné. V PHP som videl napísané shellové skripty, systémové nástroje, úlohy cronu, démony, mailové filtre, jednoduché monitoringy, atď.

Na paštiku dobrý..
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Bacsa 19. 12. 2018, 14:55:21
Mohli byste mi prosím vás poradit, zda se mám vydat směrem Pythonu nebo spíš jet něco v JS
Jednoznačnou odpověď nelze dát, ale Pythonem se určitě nic nezkazí. S JS se také hodí seznámit, je to odstrašující příklad ohledně návrhu jazyka. Konkrétně node.js asi není úplně dobrá volba po tom, co jeho autor dezertoval ke Go. Suma sumarum je-li otázka takto binární - Python vs. JS, tak rozhodně Python.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: to_je_jedno 19. 12. 2018, 15:27:23
Nenapsal jsi co delas nebo umis. Pokud budes umet dobre psat Symfony appky tak nebudes mit problem. Taky nemuzes po roce cekat, ze budes brat 100k. Ale zaroven fakt dobrej clovek dokaze v PHP i to kilčo udelat. Je ti to malo? Nebo te to nebavi? Vracis se k prvnimu - co umis, na cem delas. Mas moznost delat relativne ciste projekty pod vedenim zkusenych lidi nebo lepis support do nejakyho staryho hovnokodu?
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Jano7 19. 12. 2018, 20:23:27
Ja by som sa na tvojom mieste skôr spýtal, čo ma vlastne baví robiť. Sú to webovky, grafika, hry, matematika?
Ak je to matematika, tak Python je výbornou voľbou. Čo sa týka webu, medzi Pythonom/Django a PHP/Symfony drastické rozdiely nie sú; oba sú veľmi dobré frameworky na tvorbu webových aplikácií; s tým, že v PHP je tých projektov viac.

Ja by som sa nerozhodoval primárne na základe jazyka, ale domény, v ktorej ťa baví pracovať. To, že poniektorí nadávajú na PHP nie je podstatné. Ten jazyk prešiel vývojom a dnes je to výborný nástroj na tvorbu weboviek. 
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: mtd 19. 12. 2018, 21:02:11
Tak jsem si říkal, zda by Python pro mě nebyl lepší. Jedná se o celkem komplexní jazyk, který se využívá v různých odvětvích, ale není tak omezen jako PHP

Základy pythonu se dají naučit rychle. A dá se to i nějak používat. Podle mě je navržený jednoduššeji, než třeba to PHP (protože PHP bylo navržené hodně nekonzistentně atd..)

Python se dost používá okolo zpracování dat, "data science", umělé inteligence apod.

Python je výbornej jako glue language.

Python není jazyk pro OOP dogmatiky, protože preferuje praktičnost před principama OOP. Takže třeba nerespektuje zapozdření (což zjednodušuje jazyk, debugování i práci např. s callbackama).

Citace
(tím myslím že v PHP se dělaj hlavně weby).

PHP bylo původně template engine, napsaný v perlu. A tohle dědictví si s sebou holt táhne do dneška. I lidi, co tvrdí, že PHP není programovací jazyk, mají vlastně pravdu. ;)
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 19. 12. 2018, 21:17:43
Python není jazyk pro OOP dogmatiky, protože preferuje praktičnost před principama OOP. Takže třeba nerespektuje zapozdření (což zjednodušuje jazyk, debugování i práci např. s callbackama).

Python neporušuje zapouzdření. To dělají jen nezodpovědní programátoři.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: mtd 19. 12. 2018, 23:56:52
Python není jazyk pro OOP dogmatiky, protože preferuje praktičnost před principama OOP. Takže třeba nerespektuje zapozdření (což zjednodušuje jazyk, debugování i práci např. s callbackama).

Python neporušuje zapouzdření. To dělají jen nezodpovědní programátoři.

pokud můžete metodě explicitně předat parametr self, tak nemáte zapouzdření. proto se taky v objektových jazycích, co chtějí zapouzdření udržet, vymýšlí všemožné způsoby, jak se tomu vyhnout. to je jediný smysl existence napr.  delegates v .netu.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Daniel Kozak 20. 12. 2018, 02:25:09
Python není jazyk pro OOP dogmatiky, protože preferuje praktičnost před principama OOP. Takže třeba nerespektuje zapozdření (což zjednodušuje jazyk, debugování i práci např. s callbackama).

Python neporušuje zapouzdření. To dělají jen nezodpovědní programátoři.

pokud můžete metodě explicitně předat parametr self, tak nemáte zapouzdření. proto se taky v objektových jazycích, co chtějí zapouzdření udržet, vymýšlí všemožné způsoby, jak se tomu vyhnout. to je jediný smysl existence napr.  delegates v .netu.

WTF? to si vzal kde? Self, this nebo cokoliv jineho je vetsinou jen reference(ukazatel) na danou tridu. To se zapouzdrenim nema v podstate nic spolecneho. Jinak nevidim duvod proc by jedinym smysl delegates melo byt poruseni zapouzdreni.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 20. 12. 2018, 05:21:16
Python není jazyk pro OOP dogmatiky, protože preferuje praktičnost před principama OOP. Takže třeba nerespektuje zapozdření (což zjednodušuje jazyk, debugování i práci např. s callbackama).

Python neporušuje zapouzdření. To dělají jen nezodpovědní programátoři.

pokud můžete metodě explicitně předat parametr self, tak nemáte zapouzdření. proto se taky v objektových jazycích, co chtějí zapouzdření udržet, vymýšlí všemožné způsoby, jak se tomu vyhnout. to je jediný smysl existence napr.  delegates v .netu.

WTF? to si vzal kde? Self, this nebo cokoliv jineho je vetsinou jen reference(ukazatel) na danou tridu. To se zapouzdrenim nema v podstate nic spolecneho. Jinak nevidim duvod proc by jedinym smysl delegates melo byt poruseni zapouzdreni.
Self nani ukazatel na tridu.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: combine 20. 12. 2018, 08:10:03
Na PHP se vykasli. Jazyk je to špatny a phpkari mají špatnou povest(často zaslouženě).

https://evertpot.com/PHP-Sucks/
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: mtd 20. 12. 2018, 09:30:48
Python není jazyk pro OOP dogmatiky, protože preferuje praktičnost před principama OOP. Takže třeba nerespektuje zapozdření (což zjednodušuje jazyk, debugování i práci např. s callbackama).

Python neporušuje zapouzdření. To dělají jen nezodpovědní programátoři.

pokud můžete metodě explicitně předat parametr self, tak nemáte zapouzdření. proto se taky v objektových jazycích, co chtějí zapouzdření udržet, vymýšlí všemožné způsoby, jak se tomu vyhnout. to je jediný smysl existence napr.  delegates v .netu.

WTF? to si vzal kde? Self, this nebo cokoliv jineho je vetsinou jen reference(ukazatel) na danou tridu. To se zapouzdrenim nema v podstate nic spolecneho. Jinak nevidim duvod proc by jedinym smysl delegates melo byt poruseni zapouzdreni.

Smyslem existence delegates je právě vyhnout se porušení zapouzdření. Což je stav, který by vznikl, kdyby byla ta metoda vidět jako funkce s explicitně přístupným self.

Dejme tomu, že je self pointer (což v cpythonu skutečně platí). Nicméně python jako jazyk nepředává parametry odkazem, alébrž objektem (viz CLOS, z kterého to python zdědil), takže se o pointerech nemluví.

Problémy s explicitním předáváním okolo zapouzdření jsou dva:
1) V typickém objektovém jazyku máte private atributy, co nesmí být přístupné zvenku. Pokud povolíte explicitní self/this pointery/objekty a chcete to reálně používat, musíte zvenku povolit přístup k vnitřku odkazovaného objektu zvenku, včetně private atributů, což je porušení zapouzdření.
2) V pythonu konkrétně se private atributy specifikujou dohodou mezi programátorama tak, že co začíná jedním podtržítkem, je private atribut. Ale jsou přístupné, jazyk nebrání přístupu k nim a to je porušení zapouzdření. Samozřejmě normálně bude programátor tu konvenci respektovat, takže nepůjde proti zapouzdření, takže v praktické rovině tohle nebude normálně problém. Problém to je akorát v rámci teorie a OOP dogmat.
3) Self/this nebo jak si ten pointer pojmenujete je v typickém objektovém jazyce implementačně závislej pointer, co je generovanej kompilátorem (a může jich být pro jeden objekt více různých, aby fungovaly přístupy k atributům zděděným z různých tříd). A aby kompilátor mohl vygenerovat správný this pointer, staví se na vlastnostech zapouzdření. Kompilátor potřebuje mít tohle pod kontrolou a nedovolit programátorovi, aby si tam předával, co chce. Python je jeden z mála jazyků, co má věci jinak, v pythonu se funkci předává přímo objekt (resp. vnitřně pointer na datovou strukturu, reprezentující objekt) a funkčnost přístupu k atributům objektu řeší místo kompilátoru objekt samotnej.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Ung 20. 12. 2018, 09:31:26
Mohli byste mi prosím vás poradit, zda se mám vydat směrem Pythonu nebo spíš jet něco v JS
Jednoznačnou odpověď nelze dát, ale Pythonem se určitě nic nezkazí. S JS se také hodí seznámit, je to odstrašující příklad ohledně návrhu jazyka. Konkrétně node.js asi není úplně dobrá volba po tom, co jeho autor dezertoval ke Go. Suma sumarum je-li otázka takto binární - Python vs. JS, tak rozhodně Python.

a Když už PYthon, tak jaký framework je nejvhodnější? já koukal, že často v čr je poptáván Django.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Ung 20. 12. 2018, 09:35:36
Nenapsal jsi co delas nebo umis. Pokud budes umet dobre psat Symfony appky tak nebudes mit problem. Taky nemuzes po roce cekat, ze budes brat 100k. Ale zaroven fakt dobrej clovek dokaze v PHP i to kilčo udelat. Je ti to malo? Nebo te to nebavi? Vracis se k prvnimu - co umis, na cem delas. Mas moznost delat relativne ciste projekty pod vedenim zkusenych lidi nebo lepis support do nejakyho staryho hovnokodu?

tak 100 je rozhodně dost, aktuálně nemám ani 30 :( ... ale ted bych měl jednat o zvýšení, tak očekávám že se na 40 člověk koukne. Jinak to je právě ta věc, aktuálně dělám na frameworku jednoho kolegy, který je podobny Nette, al celý si to sám napsal a my to dál případně rozšiřujeme. Weby děláme čistě vždy od píky, jinak hlavně teda předěláváme weby právě z Wordpressu do víc úhledných a lépe udržitelných webů, takže si myslím, že kód vyprasený nemám.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Ung 20. 12. 2018, 09:38:58
Ja by som sa na tvojom mieste skôr spýtal, čo ma vlastne baví robiť. Sú to webovky, grafika, hry, matematika?
Ak je to matematika, tak Python je výbornou voľbou. Čo sa týka webu, medzi Pythonom/Django a PHP/Symfony drastické rozdiely nie sú; oba sú veľmi dobré frameworky na tvorbu webových aplikácií; s tým, že v PHP je tých projektov viac.

Ja by som sa nerozhodoval primárne na základe jazyka, ale domény, v ktorej ťa baví pracovať. To, že poniektorí nadávajú na PHP nie je podstatné. Ten jazyk prešiel vývojom a dnes je to výborný nástroj na tvorbu weboviek.


To je trochu problém, protože jsme zatím nědělal nic jinýho než weby, takže nemám moc s čím srovnávat. Nicméně u těch webů je to dobrý v tom , jak to není jednotvárný, chvíli člověk dělá css, pak zase js, převážně ale php. Otázka co mi vrtá hlavou spíš je jak dlouho u toho člověk vydrží, pokud se weby vyvíjejí čím dál tím rychleji, tak já se s přibývajícím věkem budu učit pomaleji nejspíš... tak bych pak nechtěl skončit někde v prostředí kterému se nestíhám přizpůsobovat
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Ung 20. 12. 2018, 09:43:15
Tak jsem si říkal, zda by Python pro mě nebyl lepší. Jedná se o celkem komplexní jazyk, který se využívá v různých odvětvích, ale není tak omezen jako PHP

Základy pythonu se dají naučit rychle. A dá se to i nějak používat. Podle mě je navržený jednoduššeji, než třeba to PHP (protože PHP bylo navržené hodně nekonzistentně atd..)

Python se dost používá okolo zpracování dat, "data science", umělé inteligence apod.

Python je výbornej jako glue language.

Python není jazyk pro OOP dogmatiky, protože preferuje praktičnost před principama OOP. Takže třeba nerespektuje zapozdření (což zjednodušuje jazyk, debugování i práci např. s callbackama).

Citace
(tím myslím že v PHP se dělaj hlavně weby).

PHP bylo původně template engine, napsaný v perlu. A tohle dědictví si s sebou holt táhne do dneška. I lidi, co tvrdí, že PHP není programovací jazyk, mají vlastně pravdu. ;)

Takže pokud preferuji OOP cestu, tak Python je spíš horší cestou? Jako mě to php celkem i sedí, zdá se mi přehledný, ale to bude tím že mě do toho asi tak posadili a ať se učím. Možná, že to bude znít někomu jako blbost, ale php mi příjde docela podobný js, určitý zákonitosti tam jsou sice jinak, ale jinak mi oba jazyky sedí.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 20. 12. 2018, 10:21:55
Python není jazyk pro OOP dogmatiky, protože preferuje praktičnost před principama OOP. Takže třeba nerespektuje zapozdření (což zjednodušuje jazyk, debugování i práci např. s callbackama).

Python neporušuje zapouzdření. To dělají jen nezodpovědní programátoři.

pokud můžete metodě explicitně předat parametr self, tak nemáte zapouzdření. proto se taky v objektových jazycích, co chtějí zapouzdření udržet, vymýšlí všemožné způsoby, jak se tomu vyhnout. to je jediný smysl existence napr.  delegates v .netu.

WTF? to si vzal kde? Self, this nebo cokoliv jineho je vetsinou jen reference(ukazatel) na danou tridu. To se zapouzdrenim nema v podstate nic spolecneho. Jinak nevidim duvod proc by jedinym smysl delegates melo byt poruseni zapouzdreni.

Smyslem existence delegates je právě vyhnout se porušení zapouzdření. Což je stav, který by vznikl, kdyby byla ta metoda vidět jako funkce s explicitně přístupným self.

Dejme tomu, že je self pointer (což v cpythonu skutečně platí). Nicméně python jako jazyk nepředává parametry odkazem, alébrž objektem (viz CLOS, z kterého to python zdědil), takže se o pointerech nemluví.

Problémy s explicitním předáváním okolo zapouzdření jsou dva:
1) V typickém objektovém jazyku máte private atributy, co nesmí být přístupné zvenku. Pokud povolíte explicitní self/this pointery/objekty a chcete to reálně používat, musíte zvenku povolit přístup k vnitřku odkazovaného objektu zvenku, včetně private atributů, což je porušení zapouzdření.
2) V pythonu konkrétně se private atributy specifikujou dohodou mezi programátorama tak, že co začíná jedním podtržítkem, je private atribut. Ale jsou přístupné, jazyk nebrání přístupu k nim a to je porušení zapouzdření. Samozřejmě normálně bude programátor tu konvenci respektovat, takže nepůjde proti zapouzdření, takže v praktické rovině tohle nebude normálně problém. Problém to je akorát v rámci teorie a OOP dogmat.
3) Self/this nebo jak si ten pointer pojmenujete je v typickém objektovém jazyce implementačně závislej pointer, co je generovanej kompilátorem (a může jich být pro jeden objekt více různých, aby fungovaly přístupy k atributům zděděným z různých tříd). A aby kompilátor mohl vygenerovat správný this pointer, staví se na vlastnostech zapouzdření. Kompilátor potřebuje mít tohle pod kontrolou a nedovolit programátorovi, aby si tam předával, co chce. Python je jeden z mála jazyků, co má věci jinak, v pythonu se funkci předává přímo objekt (resp. vnitřně pointer na datovou strukturu, reprezentující objekt) a funkčnost přístupu k atributům objektu řeší místo kompilátoru objekt samotnej.

Neni to jedno podtrzitko, ale dve a neni to dohoda programatoru, ale vlastnost jazyka. Takto pojmenovana metoda neni svym jmenem pristupna z venku, coz je nezbytne nutne k tomu, aby je bylo mozno prepisovat v odvozenych tridach.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 20. 12. 2018, 10:25:11
Tak jsem si říkal, zda by Python pro mě nebyl lepší. Jedná se o celkem komplexní jazyk, který se využívá v různých odvětvích, ale není tak omezen jako PHP

Základy pythonu se dají naučit rychle. A dá se to i nějak používat. Podle mě je navržený jednoduššeji, než třeba to PHP (protože PHP bylo navržené hodně nekonzistentně atd..)

Python se dost používá okolo zpracování dat, "data science", umělé inteligence apod.

Python je výbornej jako glue language.

Python není jazyk pro OOP dogmatiky, protože preferuje praktičnost před principama OOP. Takže třeba nerespektuje zapozdření (což zjednodušuje jazyk, debugování i práci např. s callbackama).

Citace
(tím myslím že v PHP se dělaj hlavně weby).

PHP bylo původně template engine, napsaný v perlu. A tohle dědictví si s sebou holt táhne do dneška. I lidi, co tvrdí, že PHP není programovací jazyk, mají vlastně pravdu. ;)

Takže pokud preferuji OOP cestu, tak Python je spíš horší cestou? Jako mě to php celkem i sedí, zdá se mi přehledný, ale to bude tím že mě do toho asi tak posadili a ať se učím. Možná, že to bude znít někomu jako blbost, ale php mi příjde docela podobný js, určitý zákonitosti tam jsou sice jinak, ale jinak mi oba jazyky sedí.

Zalezi na tom, co si od toho oop slibujes. Jestli lepsi organizaci kodu, tak python je dobrou cestou.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: czjvic 20. 12. 2018, 10:31:22
Ještě je tu jedna důležitá otázka.

Odkud jsi a kde chceš pracovat?

Pokud je odpověď Praha, tak můžeš dělat v čemkoliv. Pokud je odpověď Horní Dolní, tak si můžeš vybrat Python, ale třeba tam žádná firma v Pythonu nedělá :-)
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: to_je_jedno 20. 12. 2018, 10:56:47
tak 100 je rozhodně dost, aktuálně nemám ani 30 :(
to ale neni kvuli PHP

Weby děláme čistě vždy od píky
tady bude problem proc si vic nevydelate, nejste efektivni.

aktuálně dělám na frameworku jednoho kolegy... al celý si to sám napsal a my to dál případně rozšiřujeme
uvedomujes si, ze timhle ti to zamestnani dohromady moc nedava smerem k budoucnosti a uplatnitelnosti?
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: to_je_jedno 20. 12. 2018, 10:57:58
chvíli člověk dělá css, pak zase js, převážně ale php
takze jsi holka pro vsechno? CSS+JS ma delat frontendak.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Ung 20. 12. 2018, 12:27:56
chvíli člověk dělá css, pak zase js, převážně ale php
takze jsi holka pro vsechno? CSS+JS ma delat frontendak.

tak vzhledem k tomu, že naše oddělení jsou 2 lidi, tak nic jinýho nezbývá. Je to moje první pracovní příležitost v tomhle oboru, takže jsou to pro mě ohromné zkušenosti, je třeba znát věci v souvislostech ne?
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Ung 20. 12. 2018, 12:36:45
tak 100 je rozhodně dost, aktuálně nemám ani 30 :(
to ale neni kvuli PHP

Weby děláme čistě vždy od píky
tady bude problem proc si vic nevydelate, nejste efektivni.

aktuálně dělám na frameworku jednoho kolegy... al celý si to sám napsal a my to dál případně rozšiřujeme
uvedomujes si, ze timhle ti to zamestnani dohromady moc nedava smerem k budoucnosti a uplatnitelnosti?

za prvné, jsem zaměstnanec ne ičař. Za druhé, pokud potřebujeme dostat nějaký web pod naší správu, tak je jednodušší ho poskládat z našich komponent, než očišťovat hovnokód přece ne? Současně přitom ten web rozvíjíme.

A k tomu třetímu, to je právě ono, vím že je to limitující faktor, ale zhledme k otmu, že jsem na začátku, tak potřebuju prvně zkušenosti s těmi všemi procesi. Co a jak se má dělat v jakém pořadí, to je snad všude stejný ne?  Proto ale uvažuji jak se rozvíjet bokem, kdybychom se pak nedohodli v současné firmě, ať nemám takový problém přejít jinam.
Proto mě napadla úvaha, zda setrvat v PHP nebo jít k Pythonu.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: mtd 20. 12. 2018, 12:49:41
Neni to jedno podtrzitko, ale dve a neni to dohoda programatoru, ale vlastnost jazyka. Takto pojmenovana metoda neni svym jmenem pristupna z venku, coz je nezbytne nutne k tomu, aby je bylo mozno prepisovat v odvozenych tridach.

to jako vážně? name mangling není analog private. private se zapisuje s jedním podtržítkem, name mangling je spíš něco jako javovské final. akorát že manglované jméno se hledá standardním způsobem, tedy i mimo třídu. např. toto bude fungovat:

_Ahoj__a = 4
class Ahoj():
 def x(self):
  return __a

q=Ahoj()
print(q.x())

Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: mtd 20. 12. 2018, 13:02:37

Takže pokud preferuji OOP cestu, tak Python je spíš horší cestou? Jako mě to php celkem i sedí, zdá se mi přehledný, ale to bude tím že mě do toho asi tak posadili a ať se učím. Možná, že to bude znít někomu jako blbost, ale php mi příjde docela podobný js, určitý zákonitosti tam jsou sice jinak, ale jinak mi oba jazyky sedí.

to závisí, jak se na oop díváte. pokud chcete, aby se striktně dodržovala teorie, tak je horší cestou. pokud preferujete praktickou využitelnost, tak vám asi bude vyhovovat. jenom aby nedošlo k mýlce: python je objektovej jazyk. všechno v pythonu je objekt. má třídy i metatřídy. jenom se některé věci dělají trochu jinak, protože v praktické rovině to dělá člověku práci jednodušší.

každopádně pokud vám vyhovuje js, tak klidně používejte js. já nikomu nic nevnucuju.

okolo toho js (a properties) by Vás mohlo zajímat toto: http://steve-yegge.blogspot.com/2008/10/universal-design-pattern.html
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: ByCzech 20. 12. 2018, 13:05:47
Neni to jedno podtrzitko, ale dve a neni to dohoda programatoru, ale vlastnost jazyka. Takto pojmenovana metoda neni svym jmenem pristupna z venku, coz je nezbytne nutne k tomu, aby je bylo mozno prepisovat v odvozenych tridach.

to jako vážně? name mangling není analog private. private se zapisuje s jedním podtržítkem, name mangling je spíš něco jako javovské final. akorát že manglované jméno se hledá standardním způsobem, tedy i mimo třídu. např. toto bude fungovat:

_Ahoj__a = 4
class Ahoj():
 def x(self):
  return __a

q=Ahoj()
print(q.x())

Řekl bych, že to bylo myšleno takto:

Kód: [Vybrat]
class Cau():
     def __x(self):
             return "OK"
 
p = Cau()
print(p.__x())

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: Cau instance has no attribute '__x'
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: PetrN 20. 12. 2018, 13:24:50
Osobně bych od PHP neutíkal. Python je zajímavý, ale hodně odlišný.

Pro mě osobně díky znalostem PHP nebyl problém něco dělat v Javascriptu a napsat si například plugin pro Visual Studio Code editor. A to stejné platí pro C# nebo Javu - ten přechod není vůbec složitý a ačkoliv jsem dělal hlavně v PHP a posléze Javascriptu, nebyl pro mě problém upravit si nějakou aplikaci napsanou v C# pro mé potřeby. V Pythonu jsem napsal pár jednoduchých skriptů (ale jen proto, abych se s ním seznámil), prostě mi příjde, že s Pythonem se dá udělat vše, ale vždy je to druhá volba. Příklad: weby - ano, s Pythonem se dají psát weby, ale první volba je PHP (backend) nebo Javascript (frontend). Pro aplikace na PC C#, Javu nebo už raději C,C++ než Python, atd. atd. Ano, pokud budeš studovat matematiku na univerzitě, jistě bude Python skvělý nástroj, ale v praxi vždy najdu lepší řešení u jiného jazyku ...

Navíc, PHP 7 (7.2, 7.3) jde podle mě dobrým směrem.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 20. 12. 2018, 13:51:27
Trochu mě mrzí, že ve většině jazyků jsou všechny atributy a metody defaultně public a privátní je nutné patřičně definovat. Mělo by to být naopak, ale s tím už nic neuěláme. Možná až někdo vymyslí další jazyk, ve kterém to bude lépe - vše bude default private.

Pár takových jazyků už tady je, ale bohužel se moc neprosazují. Proč asi?
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 20. 12. 2018, 14:29:49
Neni to jedno podtrzitko, ale dve a neni to dohoda programatoru, ale vlastnost jazyka. Takto pojmenovana metoda neni svym jmenem pristupna z venku, coz je nezbytne nutne k tomu, aby je bylo mozno prepisovat v odvozenych tridach.

to jako vážně? name mangling není analog private.

Ale je.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 20. 12. 2018, 14:45:53
Osobně bych od PHP neutíkal. Python je zajímavý, ale hodně odlišný.

Pro mě osobně díky znalostem PHP nebyl problém něco dělat v Javascriptu a napsat si například plugin pro Visual Studio Code editor. A to stejné platí pro C# nebo Javu - ten přechod není vůbec složitý a ačkoliv jsem dělal hlavně v PHP a posléze Javascriptu, nebyl pro mě problém upravit si nějakou aplikaci napsanou v C# pro mé potřeby. V Pythonu jsem napsal pár jednoduchých skriptů (ale jen proto, abych se s ním seznámil), prostě mi příjde, že s Pythonem se dá udělat vše, ale vždy je to druhá volba. Příklad: weby - ano, s Pythonem se dají psát weby, ale první volba je PHP (backend) nebo Javascript (frontend). Pro aplikace na PC C#, Javu nebo už raději C,C++ než Python, atd. atd. Ano, pokud budeš studovat matematiku na univerzitě, jistě bude Python skvělý nástroj, ale v praxi vždy najdu lepší řešení u jiného jazyku ...

Navíc, PHP 7 (7.2, 7.3) jde podle mě dobrým směrem.
Používám php, python i js. Otázka zda na web použít php nebo python je otázka nasazení. Na veřejný hosting je vhodnější php, na lokální weby python. Na desktopové aplikace s webovým rozhraním jednoznačně python. Na menší, jednodušší aplikace (do 50 000 řádků)  je první volba Python a jedině výkonostní důvody mě přimějí poohlédnout se po kompilovaném jazyku. A díky cythonu už vlastně ani to není zpravidla potřeba. Takže jedině paměťové důvody (jednočipy typu  Arduino) jsou důvodem, proč se obtěžovat z pohledu produktivity neefektivním C. Python je  výrazně flexibilní, pohodlný a produktivní, zvládne většinu úloh, takže jen málokdy je důvod k němu hledat alternativu.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: kate 20. 12. 2018, 14:46:14
Pár takových jazyků už tady je, ale bohužel se moc neprosazují. Proč asi?

Rustu to zatím jakž takž jde :)
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: mtd 20. 12. 2018, 15:39:48
Řekl bych, že to bylo myšleno takto:
...
AttributeError: Cau instance has no attribute '__x'

no, ano, takhle se to chová. :)  vtip je v tom uvědomit si, že python nemá vůbec žádné řízení přístupu. takže si mylně interpretujete nepřítomnost symbolu jako nějakou jinou funkcionalitu.

name mangling je zřídka používaná funkcionalita, kterou potřebujete, když si třeba budete psát framework, co nutí uživatele podědit nějaké vaše třídy a současně uživatelům vašeho frameworku chcete zabránit některé metody overridovat nebo chcete zabránit kolizím v názvech. to znamená něco, jako javovské final.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 20. 12. 2018, 16:06:17
Já bych všechny ty public a protected atributy zakázel, včetně getterů a setterů. Jenom to porušuje zapouzdření.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Jano7 20. 12. 2018, 16:52:19
Já bych všechny ty public a protected atributy zakázel, včetně getterů a setterů. Jenom to porušuje zapouzdření.

Tak sa natíska potom otázka, treba nám vôbec to OOP? Musíme trebár pri webových projektoch použiť OOP paradigmu? Nemôže byť kontroller, service objet, obyčajná funkcia? JavaScript to rieši geniálne: dáta sú uložené v JSON databáze, z tadiaľ sa pošlú do aplikácie v JSON formáte, spracujú sa v JSON objektoch/kolekciách pošlú sa ako JSON klientovi a spracujú sa na klientovi v JSON. Netreba serializáciu/deserializáciu. Odpadá celý ten maglajz okolo zapúzdrenia, dedičnosti, final modifikátoroch, gettroch settroch, generátoroch, kadejakých lombock zbytočností. Nehovoriac o statickýc metódach či perzistencii dedičnosti v relačných databázach...
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 20. 12. 2018, 17:33:26
Tak sa natíska potom otázka, treba nám vôbec to OOP? Musíme trebár pri webových projektoch použiť OOP paradigmu? Nemôže byť kontroller, service objet, obyčajná funkcia? JavaScript to rieši geniálne: dáta sú uložené v JSON databáze, z tadiaľ sa pošlú do aplikácie v JSON formáte, spracujú sa v JSON objektoch/kolekciách pošlú sa ako JSON klientovi a spracujú sa na klientovi v JSON. Netreba serializáciu/deserializáciu. Odpadá celý ten maglajz okolo zapúzdrenia, dedičnosti, final modifikátoroch, gettroch settroch, generátoroch, kadejakých lombock zbytočností. Nehovoriac o statickýc metódach či perzistencii dedičnosti v relačných databázach...

OOP je výhodné používat kvůli přehledné architektuře kódu a vhodnému rozdělení kompetencí. Router bývá často implementován jako statická metoda, tedy de facto funkce. Kontrolery a pohledy je dobré mít právě jako polymorfní objekty. Vytvoříš si jen jednu instanci podle požadavku a vyleješ z ní data na výstup. Všechny pohledy dědí z jednoho View, všechny kontroléry mají jako rodiče jeden Controller. Je to elegantní a rychlé.

JSON vytvoříš v PHP pouhou serializací objektu, v tom problém nevidím. Maglajz kolem zapouzdření se nekoná, neboť k tomu potřebuješ pouze jednu veřejnou metodu jsonSerialize(). Pouze zavoláš json_encode($object) a dostaneš požadovaný JSON, který rovnou odešleš klientovi. Funguje to rekurzívně, jsou tedy serializovány i komponenty objektu.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: UPC manager 20. 12. 2018, 17:38:31
Tak sa natíska potom otázka, treba nám vôbec to OOP? Musíme trebár pri webových projektoch použiť OOP paradigmu? Nemôže byť kontroller, service objet, obyčajná funkcia? JavaScript to rieši geniálne: dáta sú uložené v JSON databáze, z tadiaľ sa pošlú do aplikácie v JSON formáte, spracujú sa v JSON objektoch/kolekciách pošlú sa ako JSON klientovi a spracujú sa na klientovi v JSON. Netreba serializáciu/deserializáciu...
Aha, a co je tedy JSON.stringify() a JSON.parse() když ne serializace a deserializace mezi JS objektem a JSON?
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: aaa 20. 12. 2018, 18:01:00
Zkus si v Pythonu napsat neco co zaroven resis v PHP, zkus si dohledat jsk to udelat idiomaticky (tedy tak aby to nebylo PHP v syntaxi Pythonu) a uvidis, jestli se ti vysledek bude libit. Na trolly co resej zapouzdreni a pritom v zivote v Pythonu nenapsali nic poradnyho se vykasli, je  to pouzitelnej jazyk kterej se snadno uci, ale jako vsude: abys v tom psal hezkej kod nebude stacit si precist jeden tutorial. Jestli chces zustat u webu, tak PHP neopoustej, sila Pythonu je v machine learningu jak tu psal kolega vyse. Django je jen na weby, kdybys delal API pro server to server komunikaci tak mrkni na Flask. Casem se ti muze hodit Tornado nebo asyncio, ale to az budes vedet proc ho potrebujes a proc ti pro dany typ API Flask nestaci. Pokud ses zatim spolehal spis na ORM, nauc se dobre SQL, bude se ti to hodit. Drzim palce a zastav se na meetupu, nekdo ti rad poradi - mrkni se na python.cz a proklikej se ke srazu kterej mas blizko.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Jano7 20. 12. 2018, 19:04:38
Citace
Aha, a co je tedy JSON.stringify() a JSON.parse() když ne serializace a deserializace mezi JS objektem a JSON?

To by som skôr nazval pretypovanie alebo morfing.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: DragonMaster 20. 12. 2018, 19:30:47
Určitě do toho jdi, ale budeš muset fakt makat, protože v Python už je level, kdy se skutečně programuje a člověk, co Python ovládá, tak má právo si říkat programátor. Nicméně, výsledek za to stojí. Přeji hodně štěstí...
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 20. 12. 2018, 19:39:05
Citace
Aha, a co je tedy JSON.stringify() a JSON.parse() když ne serializace a deserializace mezi JS objektem a JSON?
To by som skôr nazval pretypovanie alebo morfing.

Je to serializace a parsování. Objekty v Javascriptu nejsou uloženy jako JSON, ale ve formě stromu. Obousměrná konverze je tedy nutná.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 20. 12. 2018, 20:53:02
Řekl bych, že to bylo myšleno takto:
...
AttributeError: Cau instance has no attribute '__x'

no, ano, takhle se to chová. :)  vtip je v tom uvědomit si, že python nemá vůbec žádné řízení přístupu. takže si mylně interpretujete nepřítomnost symbolu jako nějakou jinou funkcionalitu.

name mangling je zřídka používaná funkcionalita, kterou potřebujete, když si třeba budete psát framework, co nutí uživatele podědit nějaké vaše třídy a současně uživatelům vašeho frameworku chcete zabránit některé metody overridovat nebo chcete zabránit kolizím v názvech. to znamená něco, jako javovské final.
Vtip je v tom s uvedomit, ze tohle je pythoni pragmaticky zpusob jak efektivne docilit private atributu a metod. Mylne si to interpretujes akorat ty sam a jeste tu vykladas nesmysly o jednom podtrzitku a domluve mezi programatory. Skryvani metod a atributu pomoci dvou podtrzitek je standardni a bezne uzivana praxe, kterou akorat ty neznas a vrsis tu jeden nesmysl na druhy.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Jano7 20. 12. 2018, 20:59:18
Citace
Aha, a co je tedy JSON.stringify() a JSON.parse() když ne serializace a deserializace mezi JS objektem a JSON?
To by som skôr nazval pretypovanie alebo morfing.

Je to serializace a parsování. Objekty v Javascriptu nejsou uloženy jako JSON, ale ve formě stromu. Obousměrná konverze je tedy nutná.

Dobre, tak nech je to serializácia. V JavaScripte je však určite oveľa menšia réžia. Nevníma sa to ako ten tragický impendance mismatch.

Kód: [Vybrat]
let user = {
    "firstName": "Peter",
    "lastName": "Novak",
    "email": "pnovak@example.com"
 };

 let json = JSON.stringify(user)

 console.dir(json);

Vypíše:

Kód: [Vybrat]
$ node test.js
'{"firstName":"Peter","lastName":"Novak","email":"pnovak@example.com"}'

Citace
Pouze zavoláš json_encode($object) a dostaneš požadovaný JSON, který rovnou odešleš klientovi. Funguje to rekurzívně, jsou tedy serializovány i komponenty objektu.

V Java Springu stačí pridať Jackson dependency do buildu a máme automatickú konverziu do JSON, stačí len vrátiť kolekciu z kontrollera. Je to zautomatizované, ale tá réžia tam je. Niekto musel ten auto-kód naklepať, aby tá konverzia prebehla. Nedávno som študoval JSON-P v Jave, je to výborne navrhnuté, oproti starému JAXP. Otázka je, či to vlastne skutočne potrebujeme?

Koľko zbytočne komplikovaných vecí by sme zahodili! Kúpil som si knihu Java Language Features, tam sú na cca 30 stranách rozoberané inner classes. To je taká maličká čiastočka OOP...


Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: m. 20. 12. 2018, 21:00:48

Neni to jedno podtrzitko, ale dve a neni to dohoda programatoru, ale vlastnost jazyka. Takto pojmenovana metoda neni svym jmenem pristupna z venku, coz je nezbytne nutne k tomu, aby je bylo mozno prepisovat v odvozenych tridach.

2 podrtrzitka jsou taky jen dohoda programatoru, a rozhodne z toho atributu/metody nedela private:
Kód: [Vybrat]
In [1]: class Foo:
   ...:     def __test(self): print('ahoj')
   ...:

In [2]: Foo()._Foo__test()
ahoj
Jedinej rozdil je, ze se ta funkce jinak jmenuje, a proto ji omylem neprepisu. Pokud ale budu chtit, tak mi nic nebrani si delat co chci:
Kód: [Vybrat]
In [3]: class Bar(Foo):
   ...:     def _Foo__test(self): print('nazdar')
   ...:

In [4]: Bar()._Foo__test()
nazdar

Takze nevim jak ty, ale ja zadne private chovani v tomhle nepozoruju. Jen dalsi hnusny, lec docela prakticky, hack
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: m. 20. 12. 2018, 21:04:02
chvíli člověk dělá css, pak zase js, převážně ale php
takze jsi holka pro vsechno? CSS+JS ma delat frontendak.

tak vzhledem k tomu, že naše oddělení jsou 2 lidi, tak nic jinýho nezbývá. Je to moje první pracovní příležitost v tomhle oboru, takže jsou to pro mě ohromné zkušenosti, je třeba znát věci v souvislostech ne?

Nahodou podle me dobrej zacatek. Jini sli treba jinou cestou, ale to je jedno. Tak 2 roky, trochu se otrkas, naberes nejake zkusenosti a to je dobry. Jakmile rychlost nabirani zkusenosti zacne klesat (coz byvaji u zacatecniku 2 roky), tak je dobry jit zas dal, treba nekam, kde se i pisou testy :-) nebo neco jineho se dela na trochu vic profi urovni.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 20. 12. 2018, 21:18:11
Je to serializace a parsování. Objekty v Javascriptu nejsou uloženy jako JSON, ale ve formě stromu. Obousměrná konverze je tedy nutná.
Dobre, tak nech je to serializácia. V JavaScripte je však určite oveľa menšia réžia. Nevníma sa to ako ten tragický impendance mismatch.

Menší režie než kde? Než v PHP nebo v Pythonu? To bude srovnatelné. Tady se však na nějakou režii nehraje. Je to komponenta jazyka, kterou používáme a nemá smysl vymýšlet něco vlastního. Právě s pomocí takových komponent mají skriptovací jazyky možnost výkonového přiblížení ke kompilovaným jazykům, neboť tyto knihovní funkce bývají kompilovány.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 20. 12. 2018, 21:29:51
V Java Springu stačí pridať Jackson dependency do buildu a máme automatickú konverziu do JSON, stačí len vrátiť kolekciu z kontrollera. Je to zautomatizované, ale tá réžia tam je. Niekto musel ten auto-kód naklepať, aby tá konverzia prebehla. Nedávno som študoval JSON-P v Jave, je to výborne navrhnuté, oproti starému JAXP. Otázka je, či to vlastne skutočne potrebujeme?

Koľko zbytočne komplikovaných vecí by sme zahodili! Kúpil som si knihu Java Language Features, tam sú na cca 30 stranách rozoberané inner classes. To je taká maličká čiastočka OOP...

Režie s konverzí formátu JSON nikoho nezajímají - nic lepšího pro komunikaci s Javascriptem nemáme. Pokud chceš používat formát XML, YAML nebo třeba Lisp, tak směle do toho, ale s Javascriptem to prostě nebude ono.

Inner classes s OOP moc nesouvisí. Dá se objektově programovat i bez nich a řekl bych, že lépe bez nich.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 20. 12. 2018, 21:45:28

Neni to jedno podtrzitko, ale dve a neni to dohoda programatoru, ale vlastnost jazyka. Takto pojmenovana metoda neni svym jmenem pristupna z venku, coz je nezbytne nutne k tomu, aby je bylo mozno prepisovat v odvozenych tridach.

2 podrtrzitka jsou taky jen dohoda programatoru, a rozhodne z toho atributu/metody nedela private:
Kód: [Vybrat]
In [1]: class Foo:
   ...:     def __test(self): print('ahoj')
   ...:

In [2]: Foo()._Foo__test()
ahoj
Jedinej rozdil je, ze se ta funkce jinak jmenuje, a proto ji omylem neprepisu. Pokud ale budu chtit, tak mi nic nebrani si delat co chci:
Kód: [Vybrat]
In [3]: class Bar(Foo):
   ...:     def _Foo__test(self): print('nazdar')
   ...:

In [4]: Bar()._Foo__test()
nazdar

Takze nevim jak ty, ale ja zadne private chovani v tomhle nepozoruju. Jen dalsi hnusny, lec docela prakticky, hack

Hádka s blbcem je unavná.
1) Není to dohoda programátorů, je to rys a chováni jazyka, který je implementován v interpretu.
2) Není to hack, je to součást promyšleného designu.
3) Nemá to plnit a neplní to bezpečností funkci, to je v introspektivním jazyce nesmyslný požadavek.
4) Smysl toho je jiný, zabránit nechtěnému konfliktu jmen v rozsáhlých programech, což je nezbytně nutné. Bez toho by oop v Pythonu bylo nepoužitelné pro knihovny a rozsáhlejší projekty.
5) Neznal jsi to, meleš teď kraviny a vytváříš mlhu, abys svou neznalost zakryl.
6) I jedno podtržítko má svůj význam, slouží k označování interních součástí modulů, které se pak nenačítají příkazem from modul import *.
7) Ani toto není domluva programátorů nebo hack, ale implementovaný rys jazyka by design.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: ByCzech 20. 12. 2018, 21:59:52
Hádka s blbcem je unavná.
1) Není to dohoda programátorů, je to rys a chováni jazyka, který je implementován v interpretu.
2) Není to hack, je to součást promyšleného designu.
3) Nemá to plnit a neplní to bezpečností funkci, to je v introspektivním jazyce nesmyslný požadavek.
4) Smysl toho je jiný, zabránit nechtěnému konfliktu jmen v rozsáhlých programech, což je nezbytně nutné. Bez toho by oop v Pythonu bylo nepoužitelné pro knihovny a rozsáhlejší projekty.
5) Neznal jsi to, meleš teď kraviny a vytváříš mlhu, abys svou neznalost zakryl.
6) I jedno podtržítko má svůj význam, slouží k označování interních součástí modulů, které se pak nenačítají příkazem from modul import *.
7) Ani toto není domluva programátorů nebo hack, ale implementovaný rys jazyka by design.

+1

Možná by stačilo, kdyby zde přítomní javisti nenutili javovské chování Pythonu. Stejně (blbě) bych mohl argumentovat proti Javě, že nemá chování jako Python a že je to úplně na hlavu. Python to dělá jinak než Java, smiřte se s tím.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 20. 12. 2018, 22:27:01
Možná by stačilo, kdyby zde přítomní javisti nenutili javovské chování Pythonu. Stejně (blbě) bych mohl argumentovat proti Javě, že nemá chování jako Python a že je to úplně na hlavu. Python to dělá jinak než Java, smiřte se s tím.

Totéž platí i pro skripty v PHP. Pokud někdo podlehne Javistům a začne v PHP programovat podle nich, tak se mu skripty minimálně 2× prodlouží, znepřehlední a zpomalí. Zcela zbytečně.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: m. 20. 12. 2018, 23:22:33
Hádka s blbcem je unavná.


Tak alespon na necem se shodnem. Z toho budu vychazet.



Prefix __ proste nedela z atributu/funkce private. Python tenhle koncept vubec nema.  Jak jsem ale demonstroval na prikladu, interpretr na to umoznuje sahat z venci a proto to privatni proste neni. A neni to spatne. Podtrzitka slouzi v pythonu k necemu jinemu, napriklad cituju PEP08 a tvuj (4) a (6).

Pouzivat to jako private lze docela dobre, protoze je vysoce pravdepodobne ze to nikdo primo volat nebude. Je to ale hnusny hack.

 
1) a 4) Nefunguje to uplne dobre, zacatecnici se na to nachytaji:
Kód: [Vybrat]
ntc@ntcw /tmp/asd:0:$ cat foo.py
#!/usr/bin/env python3


class Foo:
    def __test(self):
        print('ahoj')

ntc@ntcw /tmp/asd:0:$ cat main.py
#!/usr/bin/env python3

from foo import Foo as Bar


class Foo(Bar):
    def __test(self):
        print('nazdar')


if __name__ == '__main__':
    Foo()._Foo__test()


5) Pletes si me s nekym jinym  ¯\_(ツ)_/¯
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: uetoyo 21. 12. 2018, 13:30:52
Hádka s blbcem je unavná.


Tak alespon na necem se shodnem. Z toho budu vychazet.



Prefix __ proste nedela z atributu/funkce private. Python tenhle koncept vubec nema.  Jak jsem ale demonstroval na prikladu, interpretr na to umoznuje sahat z venci a proto to privatni proste neni. A neni to spatne. Podtrzitka slouzi v pythonu k necemu jinemu, napriklad cituju PEP08 a tvuj (4) a (6).

Pouzivat to jako private lze docela dobre, protoze je vysoce pravdepodobne ze to nikdo primo volat nebude. Je to ale hnusny hack.

 
1) a 4) Nefunguje to uplne dobre, zacatecnici se na to nachytaji:
Kód: [Vybrat]
ntc@ntcw /tmp/asd:0:$ cat foo.py
#!/usr/bin/env python3


class Foo:
    def __test(self):
        print('ahoj')

ntc@ntcw /tmp/asd:0:$ cat main.py
#!/usr/bin/env python3

from foo import Foo as Bar


class Foo(Bar):
    def __test(self):
        print('nazdar')


if __name__ == '__main__':
    Foo()._Foo__test()


5) Pletes si me s nekym jinym  ¯\_(ツ)_/¯

“Private” instance variables that cannot be accessed except from inside an object don’t exist in Python. However, there is a convention that is followed by most Python code: a name prefixed with an underscore (e.g. _spam) should be treated as a non-public part of the API...

https://docs.python.org/3/tutorial/classes.html#private-variables

Já sem spokojený a když mi to začne vadit -- což tedy tohle je to nejmenší proč by mi Python vadil, tak tu jsou jiný jazyky. Už fakt ze sebe blbce dělat nemusíš.

"Nefunguje to uplne dobre, zacatecnici se na to nachytaj..."

...protože Python není pro začátečníky  8)
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 21. 12. 2018, 14:41:39
Hádka s blbcem je unavná.


Tak alespon na necem se shodnem. Z toho budu vychazet.



Prefix __ proste nedela z atributu/funkce private. Python tenhle koncept vubec nema.  Jak jsem ale demonstroval na prikladu, interpretr na to umoznuje sahat z venci a proto to privatni proste neni. A neni to spatne. Podtrzitka slouzi v pythonu k necemu jinemu, napriklad cituju PEP08 a tvuj (4) a (6).

Pouzivat to jako private lze docela dobre, protoze je vysoce pravdepodobne ze to nikdo primo volat nebude. Je to ale hnusny hack.

 
1) a 4) Nefunguje to uplne dobre, zacatecnici se na to nachytaji:
Kód: [Vybrat]
ntc@ntcw /tmp/asd:0:$ cat foo.py
#!/usr/bin/env python3


class Foo:
    def __test(self):
        print('ahoj')

ntc@ntcw /tmp/asd:0:$ cat main.py
#!/usr/bin/env python3

from foo import Foo as Bar


class Foo(Bar):
    def __test(self):
        print('nazdar')


if __name__ == '__main__':
    Foo()._Foo__test()


5) Pletes si me s nekym jinym  ¯\_(ツ)_/¯
Jsi jeste hloupejsi, nez jsem si myslel.

Ani jedno ani dve podtrzitka ti nezabrani, aby ses v pythonu dostal k odkazovanemu objektu, kdyz budes chtit.
Ale dve podtrzitka ti umozni aby ses k nim nedostal nechtene, a omylem si neprepisoval interni zalezitosti, coz by vedlo k zahadnym a tezko odhalitelnym chybam v programu. Jedno podtrzitko tomu nezabrani a je proto vylozene a vyslovne stupidni jim emulovat private, nejde to. Stejne stupidni je ten, kdo neco takoveho tvrdi a prosazuje.  Jedno podtrzitko je urceno pro moduly, nikoliv pro tridy. Pro tridy jsou urceny dve podtrzitka. Slouzi presne k tomu samemu, co vlastnost private, ke schovani internich veci pred potomky. Jestli jsi to ani ted nepochopil, bez delat radsi neco jineho a hlavne tu nesir kraviny.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: todul 21. 12. 2018, 14:43:35
API pro server to server komunikaci tak mrkni na Flask. Casem se ti muze hodit Tornado nebo asyncio, ale to az budes vedet proc ho potrebujes a proc ti pro dany typ API Flask nestaci.

Se vším ostatním souhlasím, ale na API je i Flask overkill. Pokud chci mít jenom jednoduchý middletier, tak je výkonnější třeba Falcon a pokud ani ten nepotřebuju, tak se dá docela dobře psát rovnou ve wsgi.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: BaldSlattery 23. 12. 2018, 23:54:28
Hádka s blbcem je unavná.


Tak alespon na necem se shodnem. Z toho budu vychazet.



Prefix __ proste nedela z atributu/funkce private. Python tenhle koncept vubec nema.  Jak jsem ale demonstroval na prikladu, interpretr na to umoznuje sahat z venci a proto to privatni proste neni. A neni to spatne. Podtrzitka slouzi v pythonu k necemu jinemu, napriklad cituju PEP08 a tvuj (4) a (6).

Pouzivat to jako private lze docela dobre, protoze je vysoce pravdepodobne ze to nikdo primo volat nebude. Je to ale hnusny hack.

 
1) a 4) Nefunguje to uplne dobre, zacatecnici se na to nachytaji:
Kód: [Vybrat]
ntc@ntcw /tmp/asd:0:$ cat foo.py
#!/usr/bin/env python3


class Foo:
    def __test(self):
        print('ahoj')

ntc@ntcw /tmp/asd:0:$ cat main.py
#!/usr/bin/env python3

from foo import Foo as Bar


class Foo(Bar):
    def __test(self):
        print('nazdar')


if __name__ == '__main__':
    Foo()._Foo__test()


5) Pletes si me s nekym jinym  ¯\_(ツ)_/¯

“Private” instance variables that cannot be accessed except from inside an object don’t exist in Python. However, there is a convention that is followed by most Python code: a name prefixed with an underscore (e.g. _spam) should be treated as a non-public part of the API...

https://docs.python.org/3/tutorial/classes.html#private-variables

Já sem spokojený a když mi to začne vadit -- což tedy tohle je to nejmenší proč by mi Python vadil, tak tu jsou jiný jazyky. Už fakt ze sebe blbce dělat nemusíš.

"Nefunguje to uplne dobre, zacatecnici se na to nachytaj..."

...protože Python není pro začátečníky  8)
No to je zase megablábol...
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: uetoyo-nereg 24. 12. 2018, 15:09:55
Hádka s blbcem je unavná.


Tak alespon na necem se shodnem. Z toho budu vychazet.



Prefix __ proste nedela z atributu/funkce private. Python tenhle koncept vubec nema.  Jak jsem ale demonstroval na prikladu, interpretr na to umoznuje sahat z venci a proto to privatni proste neni. A neni to spatne. Podtrzitka slouzi v pythonu k necemu jinemu, napriklad cituju PEP08 a tvuj (4) a (6).

Pouzivat to jako private lze docela dobre, protoze je vysoce pravdepodobne ze to nikdo primo volat nebude. Je to ale hnusny hack.

 
1) a 4) Nefunguje to uplne dobre, zacatecnici se na to nachytaji:
Kód: [Vybrat]
ntc@ntcw /tmp/asd:0:$ cat foo.py
#!/usr/bin/env python3


class Foo:
    def __test(self):
        print('ahoj')

ntc@ntcw /tmp/asd:0:$ cat main.py
#!/usr/bin/env python3

from foo import Foo as Bar


class Foo(Bar):
    def __test(self):
        print('nazdar')


if __name__ == '__main__':
    Foo()._Foo__test()


5) Pletes si me s nekym jinym  ¯\_(ツ)_/¯

“Private” instance variables that cannot be accessed except from inside an object don’t exist in Python. However, there is a convention that is followed by most Python code: a name prefixed with an underscore (e.g. _spam) should be treated as a non-public part of the API...

https://docs.python.org/3/tutorial/classes.html#private-variables

Já sem spokojený a když mi to začne vadit -- což tedy tohle je to nejmenší proč by mi Python vadil, tak tu jsou jiný jazyky. Už fakt ze sebe blbce dělat nemusíš.

"Nefunguje to uplne dobre, zacatecnici se na to nachytaj..."

...protože Python není pro začátečníky  8)
No to je zase megablábol...
Promiň, ale tvůj styl mi taky nesedí -- neustále tu plevelíš pod různýma nickama -- zboj, geometre apod. Kdybys aspoň napsal s čím nesouhlasíš. Zdar.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: uetoyo 24. 12. 2018, 15:32:55
Python opravdu není, podle mého názoru, pro začátečníky, když se to rozleze na víc než skript. Jestli je to vůběc vhodný jazyk na větší projekty nechávám stranou. Pro začátečníky je snad lepší něco typovaného, co nadává na chyby z blbosti a nepozornosti, hned jak vzniknou.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: David 24. 12. 2018, 15:54:39
Já bych u PHP zůstal a koukal bych se po C#/Java (za mě C#), protože to jsou robustní univerzální platformy. Python je sice líp navrženej než PHP, ale furt je to jen skriptovací jazyk se všema výhodama u nevýhodama.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 24. 12. 2018, 16:24:00
Já bych u PHP zůstal a koukal bych se po C#/Java (za mě C#), protože to jsou robustní univerzální platformy. Python je sice líp navrženej než PHP, ale furt je to jen skriptovací jazyk se všema výhodama u nevýhodama.

PHP ani Python už dávno nejsou čistě skriptovacími jazyky. Před interpretováním jsou automaticky kompilovány.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: David 24. 12. 2018, 21:23:26
Já bych u PHP zůstal a koukal bych se po C#/Java (za mě C#), protože to jsou robustní univerzální platformy. Python je sice líp navrženej než PHP, ale furt je to jen skriptovací jazyk se všema výhodama u nevýhodama.

PHP ani Python už dávno nejsou čistě skriptovacími jazyky. Před interpretováním jsou automaticky kompilovány.

Kompilace je jen jedna z věcí. Prostě ten top jazyk co chceš je C#/Java, PHP i Python mají svoje problémy, kterejch se nezbaví.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 24. 12. 2018, 21:40:24
Já bych u PHP zůstal a koukal bych se po C#/Java (za mě C#), protože to jsou robustní univerzální platformy. Python je sice líp navrženej než PHP, ale furt je to jen skriptovací jazyk se všema výhodama u nevýhodama.
PHP ani Python už dávno nejsou čistě skriptovacími jazyky. Před interpretováním jsou automaticky kompilovány.
Kompilace je jen jedna z věcí. Prostě ten top jazyk co chceš je C#/Java, PHP i Python mají svoje problémy, kterejch se nezbaví.

V Javě/C# zase překáží povinná deklarace typů, která stejně pořádně nefunguje, ale zbytečně se kvůli tomu nafukuje kód.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 24. 12. 2018, 22:01:26
Python opravdu není, podle mého názoru, pro začátečníky, když se to rozleze na víc než skript. Jestli je to vůběc vhodný jazyk na větší projekty nechávám stranou. Pro začátečníky je snad lepší něco typovaného, co nadává na chyby z blbosti a nepozornosti, hned jak vzniknou.
Ne, pro zacatecniky se nehodi nic typoveho ani kompilovaneho. To jsou zbytecne prekazky navic.

Ja kdyz pisu ve vimu v pythonu, tak ten mi nadava za spoustu veci uz behem psani, diky pluginu ALE https://github.com/w0rp/ale
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 24. 12. 2018, 22:06:35
Já bych u PHP zůstal a koukal bych se po C#/Java (za mě C#), protože to jsou robustní univerzální platformy. Python je sice líp navrženej než PHP, ale furt je to jen skriptovací jazyk se všema výhodama u nevýhodama.
PHP ani Python už dávno nejsou čistě skriptovacími jazyky. Před interpretováním jsou automaticky kompilovány.
Kompilace je jen jedna z věcí. Prostě ten top jazyk co chceš je C#/Java, PHP i Python mají svoje problémy, kterejch se nezbaví.
Kazdy jazyk ma sve vyhody a nevyhody, kterych se nezbavi. C#/Java jsou pro me preziti mastodonti, kteri tu jedou ze setrvacnosti a kombinace C/Python mi vyhovuje podstatne vice.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: David 24. 12. 2018, 22:12:43
Já bych u PHP zůstal a koukal bych se po C#/Java (za mě C#), protože to jsou robustní univerzální platformy. Python je sice líp navrženej než PHP, ale furt je to jen skriptovací jazyk se všema výhodama u nevýhodama.
PHP ani Python už dávno nejsou čistě skriptovacími jazyky. Před interpretováním jsou automaticky kompilovány.
Kompilace je jen jedna z věcí. Prostě ten top jazyk co chceš je C#/Java, PHP i Python mají svoje problémy, kterejch se nezbaví.

V Javě/C# zase překáží povinná deklarace typů, která stejně pořádně nefunguje, ale zbytečně se kvůli tomu nafukuje kód.

Povinná deklarace typů -> jedinná správná cesta k udržení rostoucího projektu. Třeba v PHP nic takovýho neni (jen typehinty který mimochem taky vyžadujou nějakou režii).
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 24. 12. 2018, 22:24:50
Povinná deklarace typů -> jedinná správná cesta k udržení rostoucího projektu. Třeba v PHP nic takovýho neni (jen typehinty který mimochem taky vyžadujou nějakou režii).

V PHP jsou typehinty rozumným kompromisem. Kdo je nechce, nemusí je používat. Proč tedy ty typy nejsou v Javě udělány pořádně? Z jednoduchého důvodu: Úplně by tím zabili i ty náznaky objektovosti jazyka.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Matej O. 25. 12. 2018, 06:54:45
Povinná deklarace typů -> jedinná správná cesta k udržení rostoucího projektu. Třeba v PHP nic takovýho neni (jen typehinty který mimochem taky vyžadujou nějakou režii).

Neviem, či typehint je ten správny výraz. V PHP manuáli sa používal vo verziách 5.x, od 7.x sa používa pojem "type declarations".

Pod "typehint-om" si totiž mnohí predstavia syntax, ktorá nie je súčasťou riadneho kódu, ale je uvedená iba v doc-bloku či nejakej inej pomocnej anotácií a ktorú navyše samotný jazyk ani nijako nespracováva, takže uvádzaná je len pre potreby IDE a iných pomocných nástrojov. PHP má však viac-menej plnohodnotné typové deklarácie, akurát že ich použitie nie je povinné a netýkajú sa všetkých premenných, ale iba interfejsov metód a funkcií (parametre + návratové hodnoty).

Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Rudoch 25. 12. 2018, 08:08:06
Já bych u PHP zůstal a koukal bych se po C#/Java (za mě C#), protože to jsou robustní univerzální platformy. Python je sice líp navrženej než PHP, ale furt je to jen skriptovací jazyk se všema výhodama u nevýhodama.
PHP ani Python už dávno nejsou čistě skriptovacími jazyky. Před interpretováním jsou automaticky kompilovány.
Kompilace je jen jedna z věcí. Prostě ten top jazyk co chceš je C#/Java, PHP i Python mají svoje problémy, kterejch se nezbaví.

V Javě/C# zase překáží povinná deklarace typů, která stejně pořádně nefunguje, ale zbytečně se kvůli tomu nafukuje kód.

Povinná deklarace typů -> jedinná správná cesta k udržení rostoucího projektu. Třeba v PHP nic takovýho neni (jen typehinty který mimochem taky vyžadujou nějakou režii).
Povinná deklarace typu není ani jediná ani jediná správná cesta. Krom toho typehinty uz podporuje kde co, i Python. A je na tom krasne to, ze to neni povinne.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: BaldSlattery 25. 12. 2018, 10:20:36
Já bych u PHP zůstal a koukal bych se po C#/Java (za mě C#), protože to jsou robustní univerzální platformy. Python je sice líp navrženej než PHP, ale furt je to jen skriptovací jazyk se všema výhodama u nevýhodama.
PHP ani Python už dávno nejsou čistě skriptovacími jazyky. Před interpretováním jsou automaticky kompilovány.
Kompilace je jen jedna z věcí. Prostě ten top jazyk co chceš je C#/Java, PHP i Python mají svoje problémy, kterejch se nezbaví.

V Javě/C# zase překáží povinná deklarace typů, která stejně pořádně nefunguje, ale zbytečně se kvůli tomu nafukuje kód.
Povinná deklarace typů -> jedinná správná cesta k udržení rostoucího projektu.
Je to podmínka nutná, ale ne dostačující. Jednotkové testy jsou také prospěšné.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: uetoyo 25. 12. 2018, 14:31:10
Povinná deklarace typů -> jedinná správná cesta k udržení rostoucího projektu.
Je to podmínka nutná, ale ne dostačující. Jednotkové testy jsou také prospěšné.
No to je zase megablábol...
Když se podíváte na nějaký úspěšný projekt, jako třeba CircleCI, Boeing!, tak používají Clojure, jiní Python nebo Ruby. Kromě vašich přání a dojmů žádný argument pro tu vaši hypotézu není -- typovaný/netypovaný -- kromě mission/safety critical projektů  (kde by snad uspěla jen Ada) v tom není až tak velký rozdíl.

https://clojure.org/community/success_stories
https://www.youtube.com/watch?v=iUC7noGU1mQ
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 25. 12. 2018, 14:47:00
Když se podíváte na nějaký úspěšný projekt, jako třeba CircleCI, Boeing!, tak používají Clojure, jiní Python nebo Ruby. Kromě vašich přání a dojmů žádný argument pro tu vaši hypotézu není -- typovaný/netypovaný -- kromě mission/safety critical projektů  (kde by snad uspěla jen Ada) v tom není až tak velký rozdíl.

Však to jsou silně typované jazyky. Nebo snad ne?
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: uetoyo 25. 12. 2018, 15:13:15
Když se podíváte na nějaký úspěšný projekt, jako třeba CircleCI, Boeing!, tak používají Clojure, jiní Python nebo Ruby. Kromě vašich přání a dojmů žádný argument pro tu vaši hypotézu není -- typovaný/netypovaný -- kromě mission/safety critical projektů  (kde by snad uspěla jen Ada) v tom není až tak velký rozdíl.

Však to jsou silně typované jazyky. Nebo snad ne?

Když se podíváte na nějaký úspěšný projekt, jako třeba CircleCI, Boeing!, tak používají Clojure, jiní Python nebo Ruby. Kromě vašich přání a dojmů žádný argument pro tu vaši hypotézu není -- typovaný/netypovaný -- kromě mission/safety critical projektů  (kde by snad uspěla jen Ada) v tom není až tak velký rozdíl.

Však to jsou silně typované jazyky. Nebo snad ne?

Píšou o povinné deklaraci typů. Což tedy ani Python ani Clojure nemá. Kromě toho že jsou to dynamícky typované jazyky, tak Python bych tedy silně typovaným radši nenazval i když tedy 1 + "1" skončí pádem: TypeError: unsupported operand type(s) for +: 'int' and 'str'
narozdíl od node: '11'
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: borekz 25. 12. 2018, 15:31:06
1 + "1" skončí pádem: TypeError: unsupported operand type(s) for +: 'int' and 'str' narozdíl od node: '11'
Jestli je správný výsledek "11" nebo 2, záleží na tom, jak jsou v konkrétním jazyku definované implicitní konverze a čitelnosti to nepomáhá.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: BaldSlattery 25. 12. 2018, 15:49:39
No to je zase megablábol...
Nezasírej fórum aspoň o Vánocích, trolle.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: uetoyo 25. 12. 2018, 15:56:51
No to je zase megablábol...
Nezasírej fórum aspoň o Vánocích, trolle.
Promiň zapoměl jsem dát tu větu "No to je zase megablábol..." do citace. Hned by bylo jasné, že tu trollíš ty. Ale i ktobě se budu chovat slušně. Ten tvůj projev je ale otřesný -- i když stále měníš jména je to hned poznat.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: uetoyo 25. 12. 2018, 16:10:45
No to je zase megablábol...
Nezasírej fórum aspoň o Vánocích, trolle.
Stačí se podívat třeba sem, když s tebou někdo nesouhlasí nebo odpoví co ti neni po chuti, hned použiješ slova jako debilní, megablábol, jednou dokonce sráč a nakonec i tvé oblíbené slovo troll viz dialog s Ondřejem Nekolou. Zdar pane Géomètre.

https://forum.root.cz/index.php?topic=19216.15
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 25. 12. 2018, 16:28:49
Píšou o povinné deklaraci typů. Což tedy ani Python ani Clojure nemá. Kromě toho že jsou to dynamícky typované jazyky, tak Python bych tedy silně typovaným radši nenazval i když tedy 1 + "1" skončí pádem: TypeError: unsupported operand type(s) for +: 'int' and 'str'
narozdíl od node: '11'

Povinná deklarace je nesmysl, který ničemu neprospívá. Kdekdo používá IDE, které si dokáže typy odvodit, když je potřeba si je prohlédnout.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: ByCzech 25. 12. 2018, 16:34:29
Píšou o povinné deklaraci typů. Což tedy ani Python ani Clojure nemá. Kromě toho že jsou to dynamícky typované jazyky, tak Python bych tedy silně typovaným radši nenazval i když tedy 1 + "1" skončí pádem: TypeError: unsupported operand type(s) for +: 'int' and 'str'
narozdíl od node: '11'

Co bys ty nazval nebo ne je celkem irelevantní, protože Python prostě je silně typovaný jazyk akorát dynamicky, proto nesčítá hrušky s jabkama. Lidi si to běžně pletou a míchají to dohromady. Dokonce na české Wikipedii to je špatně, plácají tam dohromady, že dynamicky = slabě typovaný, což jsou 2 různé věci.

Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 25. 12. 2018, 16:48:56
... Dokonce na české Wikipedii to je špatně, plácají tam dohromady, že dynamicky = slabě typovaný, což jsou 2 různé věci.

Víš, proč je to na české Wikipedii blbě? Protože jsi to dosud neopravil.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: David 25. 12. 2018, 17:01:10
Kite, používáš v PHP typehinty, nebo píšeš typy do komentářů, nebo ani jedno?
Nechápu furt, proč ti vadí typování. Já osobně udělam bez statický analýzy na každym 3. řádku (!) chybu a navíc nesnášim luštění neotypovanýho kódu po někom - musim projít celej zdroják, protože i třeba proměnná $path nemusí bejt string, ale může se za ní skrejvat instance třídy.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 25. 12. 2018, 20:30:06
Kite, používáš v PHP typehinty, nebo píšeš typy do komentářů, nebo ani jedno?
Nechápu furt, proč ti vadí typování. Já osobně udělam bez statický analýzy na každym 3. řádku (!) chybu a navíc nesnášim luštění neotypovanýho kódu po někom - musim projít celej zdroják, protože i třeba proměnná $path nemusí bejt string, ale může se za ní skrejvat instance třídy.

Asi tě nepřekvapí, že u prototypů typehinty nepoužívám. Pokud však potřebuji vazbu na jiné třídy, tak je tam vložím. Pokud píši stylem TDD, tak je píši hned, protože by to neprošlo přes definici rozhraní. Do formálních parametrů je tedy dávám, ale lokální proměnné zůstávají neotypované.

Nemám problém napsat celou aplikaci bez statické analýzy. Jednak používám jiné kontrolní mechanismy, například testy, ale hodně mi pomáhá psaní krátkých řádek - do 80 znaků, bez zalamování. Místo komentování kusů kódu je pojmenovávám - dlouhé tajemné výrazy u mne tedy nenajdeš.

Je mi vcelku jedno, zda je $path string nebo instance třídy. Vždy se dá použít jako string - stačí přetypovat. Ovšem na těch mých obvyklých 5-15 řádcích metody by ses u mne neztratil.

Takže ano, typehinty používám, ale jen u rozhraní. Jinde je považuji za zbytečné a překážející.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Nenapisu 26. 12. 2018, 14:15:25
Napíšu z vlastní zkušenosti. Úplně na začátku jsem začínal programovat s PHP, to mi bylo tuším tehdy 16 let. Kdy jsem tvořil první vlastní weby. Mezitím jsem programoval i něco v Pythonu, většinou scrapování webových stránek. Také i když jsem programoval v Pythonu, tak jsem si našel brigádně práci v PHP a zažil jsem takové kolegy, který netušili nic o Gitu a musel jsem posílat PHP kódy přes email a to bylo před rokem zpět! Naštěstí jsem kolegy naučil pracovat s Gitem, tak aspoň něco pozitivního. Ale i přesto vůbec se mi s nimi dobře nepracovalo, byli zahledění sami do sebe, jako kdyby všechno věděli nejlépe a taky dostal jsem zadání, které vždycky po dodání ještě projektový manažer překroutil 3x a sám si to zadání nezapsal, aby věděl o čem jsme se před týdnem bavili. To mi přetekla trpělivost a úplně jsem zanevřel od PHP.

Možná mám jen zkušenost se špatnou firmou. Ale od té doby, co jsem v jiné firmě a dělám Angular, tak jsem si dost platově povýšil a kolegové jsou supr i ti co dělají v Java, Pythonu nebo v Céčku, prostě skvělý pokec a docela dost rádi se dělí o zkušenosti. Možná jsem narazil jen na lepší firmu, ale celkově se mi pracuje daleko lépe a od PHP nebo cokoliv s tím spojené dávám už úplně ruce pryč.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Kit 26. 12. 2018, 14:59:47
Napíšu z vlastní zkušenosti. Úplně na začátku jsem začínal programovat s PHP, to mi bylo tuším tehdy 16 let. Kdy jsem tvořil první vlastní weby. Mezitím jsem programoval i něco v Pythonu, většinou scrapování webových stránek. Také i když jsem programoval v Pythonu, tak jsem si našel brigádně práci v PHP a zažil jsem takové kolegy, který netušili nic o Gitu a musel jsem posílat PHP kódy přes email a to bylo před rokem zpět! Naštěstí jsem kolegy naučil pracovat s Gitem, tak aspoň něco pozitivního. Ale i přesto vůbec se mi s nimi dobře nepracovalo, byli zahledění sami do sebe, jako kdyby všechno věděli nejlépe a taky dostal jsem zadání, které vždycky po dodání ještě projektový manažer překroutil 3x a sám si to zadání nezapsal, aby věděl o čem jsme se před týdnem bavili. To mi přetekla trpělivost a úplně jsem zanevřel od PHP.

Možná mám jen zkušenost se špatnou firmou. Ale od té doby, co jsem v jiné firmě a dělám Angular, tak jsem si dost platově povýšil a kolegové jsou supr i ti co dělají v Java, Pythonu nebo v Céčku, prostě skvělý pokec a docela dost rádi se dělí o zkušenosti. Možná jsem narazil jen na lepší firmu, ale celkově se mi pracuje daleko lépe a od PHP nebo cokoliv s tím spojené dávám už úplně ruce pryč.

To máš skutečně jen zkušenost se špatnou firmou. Píši v PHP a XSLT. V Gitu verzuji i skripty, které mám jen pro sebe. Zatím všude, kam jsem přišel, nějaký verzovací systém používají - SVN nebo Git.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: to_je_jedno 26. 12. 2018, 16:57:27
Naucil jsem git pouzivat frajera(v tom dobrem slova smyslu) co mrskal v C jak desktop appky tak nejaky mikrokontrollery nebo co. Znamena to neco? Vubec. Proste jsi narazil na chliv a to nema s programovacim jazykem nic spolecneho.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: php0 26. 12. 2018, 17:24:06
...

To máš skutečně jen zkušenost se špatnou firmou. Píši v PHP a XSLT. V Gitu verzuji i skripty, které mám jen pro sebe. Zatím všude, kam jsem přišel, nějaký verzovací systém používají - SVN nebo Git.

Tiez si myslim, ze je to iba skusenost so zlou firmou.

Som taktiez PHP programator. Vo firme robime na aplikacii, kt. bude mat coskoro 10 rokov (backend ma cca 500k riadkov kodu). Kod bol od zaciatku pisany v PHP (objektovo) a od zaciatku sa rozmyslalo nad architekturov. V pripade, ze sa ludia zacnu v nejakej casti kodu stracat, tak sa ten kod skratka zrefaktoruje a vdaka tomu je to pomerne dost dobre citatelne aj po tolkych rokoch. Samozrejme pouzivame Git, piseme jednotkove a integracne testy. Kolektiv je v pohode a je tu dost ludi, kt. maju prehlad a nestratia sa ani v nizkourovnovom C kode, alebo v administratorskych a sietarskych veciach.

Celkom ma mrzi, ze mnoho ludi sa navaza do PHP a povazuje PHP programatorov za neschopne opice, kt. ani nevedia co je to interface, navrhovy vzor, alebo TDD.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 26. 12. 2018, 20:10:14
Když se podíváte na nějaký úspěšný projekt, jako třeba CircleCI, Boeing!, tak používají Clojure, jiní Python nebo Ruby. Kromě vašich přání a dojmů žádný argument pro tu vaši hypotézu není -- typovaný/netypovaný -- kromě mission/safety critical projektů  (kde by snad uspěla jen Ada) v tom není až tak velký rozdíl.

Však to jsou silně typované jazyky. Nebo snad ne?

Když se podíváte na nějaký úspěšný projekt, jako třeba CircleCI, Boeing!, tak používají Clojure, jiní Python nebo Ruby. Kromě vašich přání a dojmů žádný argument pro tu vaši hypotézu není -- typovaný/netypovaný -- kromě mission/safety critical projektů  (kde by snad uspěla jen Ada) v tom není až tak velký rozdíl.

Však to jsou silně typované jazyky. Nebo snad ne?

Píšou o povinné deklaraci typů. Což tedy ani Python ani Clojure nemá. Kromě toho že jsou to dynamícky typované jazyky, tak Python bych tedy silně typovaným radši nenazval i když tedy 1 + "1" skončí pádem: TypeError: unsupported operand type(s) for +: 'int' and 'str'
narozdíl od node: '11'
Presne tohle je ale projev silneho typovani. Navic aplikace na tom nespadne, ale vyvola vyjimku. Spadne jen tehdy, kdyz ji programator chybne  osetri. Vazne bych nechtel, aby automobil nebo bankovni system chybne scital hodnoty a tise to proslo bez povsimnuti.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 26. 12. 2018, 20:13:36
Píšou o povinné deklaraci typů. Což tedy ani Python ani Clojure nemá. Kromě toho že jsou to dynamícky typované jazyky, tak Python bych tedy silně typovaným radši nenazval i když tedy 1 + "1" skončí pádem: TypeError: unsupported operand type(s) for +: 'int' and 'str'
narozdíl od node: '11'

Povinná deklarace je nesmysl, který ničemu neprospívá. Kdekdo používá IDE, které si dokáže typy odvodit, když je potřeba si je prohlédnout.
To je take hloupost, deklarace typu je dobra pro automatickou vykonovou optimalizaci. Bohuzel si od toho nekteri slibuje i jine včci, treba mene chyb v programu.
Název: Re:Přesun od PHP k Pythonu?
Přispěvatel: Petr 26. 12. 2018, 20:17:47
Kite, používáš v PHP typehinty, nebo píšeš typy do komentářů, nebo ani jedno?
Nechápu furt, proč ti vadí typování. Já osobně udělam bez statický analýzy na každym 3. řádku (!) chybu a navíc nesnášim luštění neotypovanýho kódu po někom - musim projít celej zdroják, protože i třeba proměnná $path nemusí bejt string, ale může se za ní skrejvat instance třídy.

Protoze je omezujici a veci casto zbytecne komplikuje. A jestli bez toho nedokazes psat program, tak je neco hodne spatne u tebe, nikoliv u jazyka s dynamickymi typy.