Prototypové OOP

Prototypové OOP
« kdy: 15. 07. 2019, 18:33:20 »
Vedeli by ste mi vysvetliť:

1. definíciu a základnú charakteristiku prototypového OOP
2. jeho hlavné výhody / nevýhody
3. Porovnanie s inými typmi OOP
4. vymenovať zaujímavé jazyky ktoré tento typ OOP podporujú


Re:Prototypové OOP
« Odpověď #1 kdy: 16. 07. 2019, 11:00:53 »
Nejrozšířenější jazyk používající prototypovou dědičnost je JavaScript. O prototypové dědičnosti v JavaScriptu si můžete přečíst např. v článku Třídy, dědičnost a OOP v Javascriptu – II.

Re:Prototypové OOP
« Odpověď #2 kdy: 16. 07. 2019, 11:41:33 »
Nejrozšířenější jazyk používající prototypovou dědičnost je JavaScript. O prototypové dědičnosti v JavaScriptu si můžete přečíst např. v článku Třídy, dědičnost a OOP v Javascriptu – II.

Viem najpoužívanejšie prototypové jazyky sú JS a Lua.

Ja by som sa prototypovaniu detailnejšie pozrel na zúbky, ale zrovna JS ho ma trošku zmršené.

Zato taký Self ho má spravené veľmi pekne a zrozumiteľne... Self má, ale veľkú nevýhodu v tom že potrebuje image. Ale napr. Perlovská (Class::Prototyped) má prototype oop na štýl selfu https://metacpan.org/pod/Class::Prototyped#NAME dodržiava aj názvoslovie (addSlots), ale narozdiel od selfu nepotrebuje image.

Re:Prototypové OOP
« Odpověď #3 kdy: 16. 07. 2019, 21:51:14 »
Zato taký Self ho má spravené veľmi pekne a zrozumiteľne... Self má, ale veľkú nevýhodu v tom že potrebuje image. Ale napr. Perlovská (Class::Prototyped) má prototype oop na štýl selfu https://metacpan.org/pod/Class::Prototyped#NAME dodržiava aj názvoslovie (addSlots), ale narozdiel od selfu nepotrebuje image.

Hlavní problém Selfu určitě není nutnost image. Proč by měla být nutnost image vůbec nevýhoda?

Prototypově programovat můžete nějak nejspíš v nejrůznějších jazycích. Ale v jazyce přímo založeném na prototypech tím získáte určitě víc. Dotaz je moc obecný... a za chvíli tu bude stejně flame.

Ink

  • *****
  • 654
    • Zobrazit profil
    • E-mail
Re:Prototypové OOP
« Odpověď #4 kdy: 17. 07. 2019, 07:39:26 »
Co přesně má to (prototypové) OOP řešit, zajímá Tě to jenom tak, nebo s tím chceš i něco dělat? Úplně chápu, pokud někdo studuje exotické (lidské) jazyky, kultury a organismy, ale z praktického hlediska...


Re:Prototypové OOP
« Odpověď #5 kdy: 17. 07. 2019, 16:04:17 »
Co přesně má to (prototypové) OOP řešit, zajímá Tě to jenom tak, nebo s tím chceš i něco dělat? Úplně chápu, pokud někdo studuje exotické (lidské) jazyky, kultury a organismy, ale z praktického hlediska...

Pro každého je praktické něco jiného. IMHO javascript je stále populární a může se hodit vědět, jak funguje. Anebo se pak člověk dostane k lepší práci, protože tam třeba bude mít možnost uplatnit rozhled (i když k tomuto levelu je ještě delší cesta, nestačí obecně vědět co to prototypové OOP je).

Re:Prototypové OOP
« Odpověď #6 kdy: 17. 07. 2019, 20:17:26 »
Hlavní problém Selfu určitě není nutnost image. Proč by měla být nutnost image vůbec nevýhoda?

Je to môj subjektívny problém. Nemám čas učiť sa popri novom jazyku s novou sémantikou ešte aj nové prostredie a celý nový ekosystém. Inak myslím že image je zaujímavý koncept, ale mne osobne to v tejto situácii nevyhovuje, ale možno predsa len prekonám odpor. Ale inak self sa mi ako jazyk veľmi páči, len škoda toho image :/

Co přesně má to (prototypové) OOP řešit, zajímá Tě to jenom tak, nebo s tím chceš i něco dělat?

Chcem sa to proste naučiť do hĺbky, zatiaľ mi ide len o teóriu, ktorú ale plánujem využiť pri jednom konkrétnom projekte.

Co přesně má to (prototypové) OOP řešit, zajímá Tě to jenom tak, nebo s tím chceš i něco dělat? Úplně chápu, pokud někdo studuje exotické (lidské) jazyky, kultury a organismy, ale z praktického hlediska...

Pro každého je praktické něco jiného. IMHO javascript je stále populární a může se hodit vědět, jak funguje. Anebo se pak člověk dostane k lepší práci, protože tam třeba bude mít možnost uplatnit rozhled (i když k tomuto levelu je ještě delší cesta, nestačí obecně vědět co to prototypové OOP je).

JS (resp TS) ma živí a viem ako v ňom prototypy fungujú ale chcel som viac zabrdnúť do teórie a rád by som si prototypy pozrel aj z perspektívy iných jazykov. A Self bol predsa len prvý.

gill

  • ****
  • 270
    • Zobrazit profil
    • E-mail
Re:Prototypové OOP
« Odpověď #7 kdy: 18. 07. 2019, 07:36:36 »
Nejrozšířenější jazyk používající prototypovou dědičnost je JavaScript. O prototypové dědičnosti v JavaScriptu si můžete přečíst např. v článku Třídy, dědičnost a OOP v Javascriptu – II.

Viem najpoužívanejšie prototypové jazyky sú JS a Lua.

Ja by som sa prototypovaniu detailnejšie pozrel na zúbky, ale zrovna JS ho ma trošku zmršené.

Zato taký Self ho má spravené veľmi pekne a zrozumiteľne... Self má, ale veľkú nevýhodu v tom že potrebuje image. Ale napr. Perlovská (Class::Prototyped) má prototype oop na štýl selfu https://metacpan.org/pod/Class::Prototyped#NAME dodržiava aj názvoslovie (addSlots), ale narozdiel od selfu nepotrebuje image.

V čem je to jiné než v JS, kromě názvosloví sloty vs. atributy?

Ink

  • *****
  • 654
    • Zobrazit profil
    • E-mail
Re:Prototypové OOP
« Odpověď #8 kdy: 18. 07. 2019, 11:13:36 »
Co přesně má to (prototypové) OOP řešit, zajímá Tě to jenom tak, nebo s tím chceš i něco dělat? Úplně chápu, pokud někdo studuje exotické (lidské) jazyky, kultury a organismy, ale z praktického hlediska...

Pro každého je praktické něco jiného. IMHO javascript je stále populární a může se hodit vědět, jak funguje. Anebo se pak člověk dostane k lepší práci, protože tam třeba bude mít možnost uplatnit rozhled (i když k tomuto levelu je ještě delší cesta, nestačí obecně vědět co to prototypové OOP je).

Jsem ten poslední člověk na světě, který by byl proti obecnému rozhledu. Nicméně i do toho JavaScriptu přibylo třídy, domnívám se, že prototypové OOP obecně není moc osvědčený způsob psaní programů, proto jsem se ptal, co s tím chtěl původní tazatel řešit.

Re:Prototypové OOP
« Odpověď #9 kdy: 18. 07. 2019, 14:43:32 »
JS (resp TS) ma živí a viem ako v ňom prototypy fungujú ale chcel som viac zabrdnúť do teórie a rád by som si prototypy pozrel aj z perspektívy iných jazykov. A Self bol predsa len prvý.

To Vám určitě neunikly články na Bystroushaakově blogu


IMHO je to realistické shrnutí stavu ohledně Selfu. O Selfu na Ábíčku psal i Pavel Křivánek.


gill

  • ****
  • 270
    • Zobrazit profil
    • E-mail
Re:Prototypové OOP
« Odpověď #10 kdy: 19. 07. 2019, 13:08:23 »
Co přesně má to (prototypové) OOP řešit, zajímá Tě to jenom tak, nebo s tím chceš i něco dělat? Úplně chápu, pokud někdo studuje exotické (lidské) jazyky, kultury a organismy, ale z praktického hlediska...

Pro každého je praktické něco jiného. IMHO javascript je stále populární a může se hodit vědět, jak funguje. Anebo se pak člověk dostane k lepší práci, protože tam třeba bude mít možnost uplatnit rozhled (i když k tomuto levelu je ještě delší cesta, nestačí obecně vědět co to prototypové OOP je).

Jsem ten poslední člověk na světě, který by byl proti obecnému rozhledu. Nicméně i do toho JavaScriptu přibylo třídy, domnívám se, že prototypové OOP obecně není moc osvědčený způsob psaní programů, proto jsem se ptal, co s tím chtěl původní tazatel řešit.

třídy v JS jsou jen jiný zápis prototypového OOP.

Re:Prototypové OOP
« Odpověď #11 kdy: 19. 07. 2019, 18:00:10 »
Jsem ten poslední člověk na světě, který by byl proti obecnému rozhledu. Nicméně i do toho JavaScriptu přibylo třídy, domnívám se, že prototypové OOP obecně není moc osvědčený způsob psaní programů, proto jsem se ptal, co s tím chtěl původní tazatel řešit.

Prototypy sú krásne v tom že sú jednoduché a elegantné zároveň... A dávajú Vám omnoho viac možností ako klasické triedy. Ale viete si pomocou nich doplniť do jazyka aj tie triedy, alebo multiple inheritance, traity, extension metódy. Ako napísal gill, tiredy v JS sú len syntaktický cukor nad prototypmi.

To Vám určitě neunikly články na Bystroushaakově blogu


IMHO je to realistické shrnutí stavu ohledně Selfu. O Selfu na Ábíčku psal i Pavel Křivánek.

Ďakujem za typy na zaujímavé články :)