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

Kolemjdoucí

Re:Má cenu přeučovat se do OOP?
« Odpověď #105 kdy: 14. 10. 2014, 08:36:08 »
PResne! To jsi psal, ale neni to definice. To je popis vyhod, ale da se +- aplikovat trebas na modularni programovani nebo funkcnionalni programovani.


Však ono to také tak je :) Není žádná ultramegahustá definice OOP a správně jsi uvedl, že stejný postup můžeš aplikovat i jinde a jinak. Objektem se rozumí množina dat a množina funkcí k manipulaci s těmito daty a realizovat to lze různě.


Kolemjdoucí

Re:Má cenu přeučovat se do OOP?
« Odpověď #106 kdy: 14. 10. 2014, 08:41:07 »
Overload neni polymorfismus, minimalne ne ve smyslyu OOP. Overload pouziva casnou vazbu, polymorfismus pozdni vazbu.

Na http://cs.wikipedia.org/wiki/Polymorfismus_(programov%C3%A1n%C3%AD) píšou něco jiného a nikdo neví jestli je polymorfismus overload nebo virtuální metoda nebo dokonce šablona. Hádat se o to nechci, jen chci uvést že prakticky nikdo, ani já, neví co to polymorfismus je.

JSH

Re:Má cenu přeučovat se do OOP?
« Odpověď #107 kdy: 14. 10. 2014, 08:50:53 »
Víceméně souhlasím s Kolemjdoucím, ale přeci jen, zde je můj popis jak OOP vnímám:
Já OOP zatím vnímám jako vývoj dopředu. Podobně jako se z podprogramů staly funkce, tak se z "modulů" vynořili objekty.
Objekty a moduly jsou trochu něco jiného. Modul může být jen sada funkcí, které transformují nějakou chytrou datovou strukturu.
Citace
Něco jako souhrn "best practices" modulů, navíc podpořeno novým velmi zjednodušeným zápisem.
Ještě že jsou ty "best practices" v úvozovkách. Spousta věcí se skvěle píše stylem u kterého se o objektech nedá vůbec mluvit.
Citace
Díky tomu lze přenést část zodpovědností a pravidel z programátora na překladač.
(FLAME) Ne všechny staticky typované jazyky jsou objektové. A design by contract taky není nějaká typická objektová záležitost.
Citace
Navíc nový zjednodušený zápis umožňuje používat "kouzla" jako polyformizmus v rozsahu která by dříve byla neudržitelně složitá(což neznamená že se musí používat aby byl program dle OOP).
Evidentně jsi neviděl Classy v Haskellu. To jsou teprve kouzla. A bez objektů.
Citace
Za základ OOP pak považuji to že se návrh (nebo fáze návrhu?)  cíleně zaměřuje na hledání toho co lze oddělit a jak to bude spolupracovat.
Tohle je modulární programování.

technomaniak

Re:Má cenu přeučovat se do OOP?
« Odpověď #108 kdy: 14. 10. 2014, 09:13:30 »

Nikdo neví co je polymorfismus. Dobrý jazyk umí overload i bez OOP.

Podle sebe nesuď ostatní. Co se týče Javy, já ho ovládám. Jedná se o neskutečně triviální techniku programování.

Kolemjdoucí

Re:Má cenu přeučovat se do OOP?
« Odpověď #109 kdy: 14. 10. 2014, 09:24:24 »
Co se týče Javy, já ho ovládám.

Výborně a co to tedy podle tebe je ten polymorfismus ?
Overload, override, šablony atd. atd. ovládá mnoho lidí, s tím problém není.


Hmmm

Re:Má cenu přeučovat se do OOP?
« Odpověď #110 kdy: 14. 10. 2014, 09:36:53 »
Ale na toto som aj ja zvedavy.

Re:Má cenu přeučovat se do OOP?
« Odpověď #111 kdy: 14. 10. 2014, 09:43:14 »
... 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.

A už se tady zase poměřují pindíci ...

BTW: http://forum.root.cz/index.php?topic=9861.0

Re:Má cenu přeučovat se do OOP?
« Odpověď #112 kdy: 14. 10. 2014, 09:49:32 »
PResne! To jsi psal, ale neni to definice. To je popis vyhod, ale da se +- aplikovat trebas na modularni programovani nebo funkcnionalni programovani.


Však ono to také tak je :) Není žádná ultramegahustá definice OOP a správně jsi uvedl, že stejný postup můžeš aplikovat i jinde a jinak. Objektem se rozumí množina dat a množina funkcí k manipulaci s těmito daty a realizovat to lze různě.

Mnozina hodnot a operaci je typ, ne objekt. Do te tve definice se v pohode vejde i Integer v Pascalu ;)
(ciste pro jistotu - class v OOP neni uplne to same jako typ, protoze ne kazdy objekt musi nutne byt instanci class)

Kolemjdoucí

Re:Má cenu přeučovat se do OOP?
« Odpověď #113 kdy: 14. 10. 2014, 10:22:34 »
Mnozina hodnot a operaci je typ, ne objekt. Do te tve definice se v pohode vejde i Integer v Pascalu ;)

Záleží na terminologii a implementaci, ale v zásadě je možno pomocí OOP definovat i vlastní typy, pochopitelně. (V Pascalu nikoliv, to je ale vedlejší).

Re:Má cenu přeučovat se do OOP?
« Odpověď #114 kdy: 14. 10. 2014, 10:45:10 »
Mnozina hodnot a operaci je typ, ne objekt. Do te tve definice se v pohode vejde i Integer v Pascalu ;)

Záleží na terminologii a implementaci, ale v zásadě je možno pomocí OOP definovat i vlastní typy, pochopitelně. (V Pascalu nikoliv, to je ale vedlejší).

Ale samozrejme, ze v Pascalu (a tim myslim uz Wirthuv pascal, ne nejakou pozdejisi odvozeninu) slo delat vlastni typy.

Ale pointa je neco jineho. Pletes si obecnejsi - moznost udelat si typ, modularizaci, s tim, jak to resi OOP.

Ovrscout

Re:Má cenu přeučovat se do OOP?
« Odpověď #115 kdy: 14. 10. 2014, 18:24:51 »
...

S komentáři pod jednotlivými částmi nemám až tak velký problém, Takže jen pár bodů:
-Souhlas že Modul a Objekt nejsou to samé, ani jsem to tak nenapsal.
-Ano úvozovky jsem tam dal schválně :) skoro jsi se trefil
-classy v haskelu jem opravdu neviděl takže to ohodnotit neumím.
Jednotlivé body, tak jak jsi je postavil samostatně nejsou (dle mne) jedinými pravými částmi OOP nebo jeho definice a nejspíš to nevyznělo tk jak jsem chtěl.
Pod OOP si představuji souhrn těchto bodů včetně jejich vzájemného propojení. Nemyslím že OOP je to nějaký úplně nový vynález z jiného světa, spíš to vnímám výběr a souhrn různých postupů co se z (nějakých hledisek) osvědčili a kterému se dal nový kabátek aby se s tím dobře pracovalo,plus díky určitému odstřižení jiných variant došlo ke zjednodušení které vede k možnosti mastit kód do tolika vrstev až až až už se špagety neuvaří :) .  Prostě je to metodika jako každá jiná z něčeho vychází a někam vede - možná :D
Nj. už si dělám srandu. Není ale třeba zakládat požár, třeba změním názor po nějaké jiné knížce, nebo až na nějako dobrou definici narazím (rád uvítám tvojí :) , nedělám si nárok na jedinou správnou pravdu tm.