Přesun od PHP k Pythonu?

Ung

Přesun od PHP k Pythonu?
« kdy: 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?



Trupik

Re:Přesun od PHP k Pythonu?
« Odpověď #1 kdy: 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ď.

Petr

Re:Přesun od PHP k Pythonu?
« Odpověď #2 kdy: 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.

jeho lordstvo

Re:Přesun od PHP k Pythonu?
« Odpověď #3 kdy: 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ý..

Bacsa

Re:Přesun od PHP k Pythonu?
« Odpověď #4 kdy: 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.


Re:Přesun od PHP k Pythonu?
« Odpověď #5 kdy: 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?
Děkuji za možnost editace příspěvku.

Jano7

Re:Přesun od PHP k Pythonu?
« Odpověď #6 kdy: 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. 

mtd

Re:Přesun od PHP k Pythonu?
« Odpověď #7 kdy: 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. ;)

Kit

Re:Přesun od PHP k Pythonu?
« Odpověď #8 kdy: 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.

mtd

Re:Přesun od PHP k Pythonu?
« Odpověď #9 kdy: 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.

Daniel Kozak

Re:Přesun od PHP k Pythonu?
« Odpověď #10 kdy: 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.

Petr

Re:Přesun od PHP k Pythonu?
« Odpověď #11 kdy: 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.

combine

Re:Přesun od PHP k Pythonu?
« Odpověď #12 kdy: 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/

mtd

Re:Přesun od PHP k Pythonu?
« Odpověď #13 kdy: 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.

Ung

Re:Přesun od PHP k Pythonu?
« Odpověď #14 kdy: 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.