Přesun od PHP k Pythonu?

Ung

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


Ung

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

Ung

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

Petr

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

Petr

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


czjvic

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

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

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

Ung

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

Ung

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

mtd

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


mtd

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

ByCzech

  • *****
  • 1 848
    • Zobrazit profil
    • E-mail
Re:Přesun od PHP k Pythonu?
« Odpověď #27 kdy: 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'

PetrN

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

Kit

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