Má cenu přeučovat se do OOP?

Owl_

Má cenu přeučovat se do OOP?
« kdy: 11. 10. 2014, 12:33:40 »
Dobrý den,

druhým rokem se učím PHP a zvažuji, že se naučím ještě Python. Jak PHP tak Python jsou multiparadigmatické jazyky. Já se u PHP učil procedurálnímu programování, které mi připadá jednodušší, navíc se v knihovnách s funkcemi, které jsem si vytvořil, dobře orientuji. Spousta zaměstnavatelů ale požaduje znalosti OOP.

Proto se chci zeptat, jestli se mám přeučovat v PHP na OOP a objekty se v Pythonu učit hned, když mi procedury vyhovují mnohem více a co by pro mě z hlediska uplatnění znamenalo, pokud bych zůstal u procedur.


JmJ

  • ****
  • 332
    • Zobrazit profil
Re:Má cenu přeučovat se do OOP?
« Odpověď #1 kdy: 11. 10. 2014, 12:51:16 »
Ma. Nevymyslej kraviny a uc se oop :-)

hmmm

Re:Má cenu přeučovat se do OOP?
« Odpověď #2 kdy: 11. 10. 2014, 13:05:27 »
Pokud se chces zivit programovanim a mas vic nez 5-10 let do duchodu, tak bys o tom mel neco vedet.
I kdybys to nikdy nepouzil, tak se ti muze stat, ze narazis na nekoho, kdo "zije objektove", a budes potrebovat se s nim domluvit.

Kit

Re:Má cenu přeučovat se do OOP?
« Odpověď #3 kdy: 11. 10. 2014, 13:42:45 »
Já se u PHP učil procedurálnímu programování, které mi připadá jednodušší, ...

Proto se chci zeptat, jestli se mám přeučovat v PHP na OOP ...

Procedurální programování může být jednodušší pro primitivní skripty na pár set řádek. Jakmile si však zvykneš na OOP, zjistíš, že se v tom programuje velmi pohodlně a elegantně. Přepsáním jedné procedurální aplikace v PHP do OOP jsem ji zkrátil na třetinu. Navíc se stala mnohem robustnější.

Tiger

Re:Má cenu přeučovat se do OOP?
« Odpověď #4 kdy: 11. 10. 2014, 14:39:11 »
Upřímně (a bez urážky), doufám, že je ti tak 18 a jen potřebuješ nasměrovat dál. OOP je tak elementární věc, že pokud se chceš webové aplikace vyvíjet profesionálně (z otázky jsem pochopil, že ano), tak není co řešit.

Je to jako kdyby ses ptal, jestli stačí, že umíš jako zedník rozmíchat omítku a jestli má cenu učit se ji i nahodit, když rozmíchávání ti vyhovuje víc.


Oldrich

Re:Má cenu přeučovat se do OOP?
« Odpověď #5 kdy: 11. 10. 2014, 15:18:41 »
obecny aspekt vidim v autorove vypovedi, ze zamestnavatele pozaduji OOP. Tak to je, je to poplatne dnesni dobe - kdy je pracovni misto to nejvic, co muze clovek v zivote dosahnout. Stesti, zdravi a jine aspekty zivota jsou vedlejsi, kdo nema pracovni misto je odpad spolecnosti a take se s nim tak zachazi. Proto kdyz pozaduje zamestnavatel OOP, tak se to bude delat, kdyz bude zamestnavatel chtit, aby zamestnanci kazde rano skocili z mostu do reky, tak to budou zamestnanci z velke vetsuiny take delat - protoze jak vyse receno - 'pracovi misto!!!

Druhy konkretni aspekt je OOP samo. Zazil jsem dobu, kdy to vypuklo a vsude se mluvilo o tom, jak ted budou programy 'robustnejsi', jak se budou jednoduse zhotovovat a vubec vsechno pobezi jako po masle. Jedine co bude potreba je, aby programatori zmenili sve mysleni a mysleli prave OO.  Zjistuji po letech, ze se tyto nadeje nenaplnily, programy padaji jako drive a vyvoj se neustale prodrazuje.

OOP je takova mantra, kterou se daji oblbnout vedouci projektu a manageri. Bjarne Stroustrup (c++) na otazku, zda by se mely delat projekty v c++ odpovedel: 'jestli mas v projektu 5 lidi, co umi cobol, delej ten projekt v cobolu'.

Kit

Re:Má cenu přeučovat se do OOP?
« Odpověď #6 kdy: 11. 10. 2014, 15:26:22 »
... Jedine co bude potreba je, aby programatori zmenili sve mysleni a mysleli prave OO.  Zjistuji po letech, ze se tyto nadeje nenaplnily, programy padaji jako drive a vyvoj se neustale prodrazuje.

Pochopit OOP není tak triviální, jak to na první pohled vypadá. Je to mnohem jednodušší, pouze se programátor musí oprostit od procedurálního programování. Viděl jsem hodně aplikací, které byly označeny, že jsou objektově napsány. Ano byly tam třídy, byly tam objekty, ale objektové byly jen vzdáleně. Objektově napsané aplikace nepadají.

flv

Re:Má cenu přeučovat se do OOP?
« Odpověď #7 kdy: 11. 10. 2014, 15:41:44 »
OOP aplikace nepadaji, tohle si napisu do CV

neslo by s tim udelat tricka ? :)

h7

Re:Má cenu přeučovat se do OOP?
« Odpověď #8 kdy: 11. 10. 2014, 16:00:49 »
To hlavní na objektově orientovaném programování je členění kódu na menší části, které samy o sobě dávají dobrý smysl, lze je elegantně použít, je u nich zřejmé, co nabízí okolnímu světu. Tedy lze pochopit jejich smysl a funkci, lze je testovat, lze je znovupoužít apod.

U malinkých programů, na kterých dělá jeden autor, to není tak podstatné. Ale u rozsáhlejších programů, zejména na kterých dělá paralelně nebo sériově (předání vývoje někomu jinému - či to alespoň hrozí, protože jde o dlouhodobější projekt) více lidí, je to velmi důležité. Členit program lze různými způsoby a dělá se to v programovacích jazycích, které tzv. nejsou objektově orientované (jako např. jazyk C). Ale vestavěná podpora přímo v jazyku zaprvé ulehčuje vývoj kratšími zápisy, podporou nástrojů (např. IDE) apod. a za druhé sjednocuje způsob, tedy se v tom vyzná snadno i jiný programátor, aniž by musel napřed pochopit nějaké speciální řešení navržené pro ten jeden konkrétní program.

Re:Má cenu přeučovat se do OOP?
« Odpověď #9 kdy: 11. 10. 2014, 16:13:57 »
... Objektově napsané aplikace nepadají.

 :o

zatycz

Re:Má cenu přeučovat se do OOP?
« Odpověď #10 kdy: 11. 10. 2014, 16:18:30 »
Ano, ma to smysl a to co nejdrive. Doporucuji zacit teorii OOP a pak tuto teorii aplikovat na vybrany jazyk. Jestli to bude PHP nebo Python, to je vcelku fuk. Me se ted dostala do roky kniha od Pecinovskeho (Java 7 učebnice objektové architektury pro začátečníky) a tam je OOP vysvetleno velice pochopitelne a ctive. Takze i kdyz je zvoleny jazyk Java, s klidem ti tu knihu na zacatek s OOP doporucim.

btw, pokud se jiz 2 roky ucis PHP, nechapu, jaktoze jsi se k OOP jeste nedostal. Teda ne ze by se v PHP bez OOP nedal napsat i vetsi projekt, ale to bych si radeji ukousl nohu, nez se o neco takoveho pokouset.

Re:Má cenu přeučovat se do OOP?
« Odpověď #11 kdy: 11. 10. 2014, 16:34:24 »
... Jedine co bude potreba je, aby programatori zmenili sve mysleni a mysleli prave OO.  Zjistuji po letech, ze se tyto nadeje nenaplnily, programy padaji jako drive a vyvoj se neustale prodrazuje.
.................... Objektově napsané aplikace nepadají.
Tak to by se mělo vytesat do kamene ...... tak dobrý vtip jsem už dlouho neslyšel.
Předtím to byl vtip: "nové Windows nepadají"

Mimochodem, ještě jsem neviděl za posledních 23 let program, který by alespoň jednou nezhavaroval.

I když můžeme polemizovat, zda za zhavarování mohl ten daný program, a nebo BFU co s ním pracovalo.


--- léta jsem znal pouze Windows - pak jsem potkal Macbook - a chtěl jsem to taky -------
-- a tak mám Ubuntu ---------- Philips Freevents X52CZ Intel Core Duo CPU T2700 @ 2.33GHz x2, 2GB RAM,  500GB SSHD Seagate 8GB NAND,- Ubuntu 14.04LTS ---

Zdenek Henek

Re:Má cenu přeučovat se do OOP?
« Odpověď #12 kdy: 11. 10. 2014, 16:38:39 »
To hlavní na objektově orientovaném programování je členění kódu na menší části, které samy o sobě dávají dobrý smysl, lze je elegantně použít, je u nich zřejmé, co nabízí okolnímu světu. Tedy lze pochopit jejich smysl a funkci, lze je testovat, lze je znovupoužít apod.

U malinkých programů, na kterých dělá jeden autor, to není tak podstatné. Ale u rozsáhlejších programů, zejména na kterých dělá paralelně nebo sériově (předání vývoje někomu jinému - či to alespoň hrozí, protože jde o dlouhodobější projekt) více lidí, je to velmi důležité. Členit program lze různými způsoby a dělá se to v programovacích jazycích, které tzv. nejsou objektově orientované (jako např. jazyk C). Ale vestavěná podpora přímo v jazyku zaprvé ulehčuje vývoj kratšími zápisy, podporou nástrojů (např. IDE) apod. a za druhé sjednocuje způsob, tedy se v tom vyzná snadno i jiný programátor, aniž by musel napřed pochopit nějaké speciální řešení navržené pro ten jeden konkrétní program.

No nevim, videl jsem spoustu kodu, ktery vyuzival OOP a neslo se v nem vyznat.

Rozdil mezi proceduralnim a OOP pristupem je takovy jako stekat psem a nechat psa stekat :). Chvili to trva a je nutne za tim vided proc se ma pouzit OOP, jinka clovek zacne psat spagety i ve tridach.

Kit

Re:Má cenu přeučovat se do OOP?
« Odpověď #13 kdy: 11. 10. 2014, 17:12:52 »
.................... Objektově napsané aplikace nepadají.
Tak to by se mělo vytesat do kamene ...... tak dobrý vtip jsem už dlouho neslyšel.

Tak ještě jeden vtip: Ukaž mi zdroják objektově napsaného programu, který havaruje a já ti dokážu, že není objektově napsaný.

Radek Miček

Re:Má cenu přeučovat se do OOP?
« Odpověď #14 kdy: 11. 10. 2014, 17:17:49 »
Ano, ma to smysl a to co nejdrive. Doporucuji zacit teorii OOP a pak tuto teorii aplikovat na vybrany jazyk.

Zádrhel je v tom, že ani neexistuje přesná a všeobecně uznávaná definice OOP natož pak nějaká teorie, jenž by byla všeobecně aplikovatelná.