Ep. 23 – OOP Part 7 (Temná strana OOP)

1+

V záverečnej epizóde o OOP si najprv pripomenieme nejaké výhody, ale hlavne sa pozrieme na  negatíva objektovo orientovaného programovania. Nevýhod spomenieme viacero a preto aj taký názov epizódy. Najprv začneme takými zjavnejšími nevýhodami a potom prejdeme na nevýhody, ktoré sme si my vôbec začali všímať až po prečítaní týchto článkov.

Stiahnuť

00:00 – 01:32 Úvod
01:33 – 06:17 Výhody OOP
06:18 – 14:27 Zjavné nevýhody OOP
14:28 – 18:00 Prvý článok
18:01 – 24:34 Druhý článok
24:35 – 25:46 Tretí článok
25:47 – 27:36 Prečo je OOP stále také populárne?
27:37 – 29:01 Oplatí sa učiť OOP?
29:02 – Záver

Výhody OOP

  • poskytuje spôsob akým štrukturovať kód
  • Objekty môžu byž reusované
  • Softvér je jednoduchší na urdžiavanie (kritici hovoria presný opak)
  • Môžeme definovať abstraktné dátove typy, resp. objekty
  • Vďaka enkapsulácii a modularite máme malo prepojené moduly (loose coupling) 

Zjavné nevýhody OOP

  • veľa konceptov na naučenie
  • ťažko sa hľadá hranica, kedy som použil dané koncepty v správnom rozsahu
  • koncepty  vedia byť dosť mätúce
  • ukecaná syntax – Enterprise FizzBuzz
  • limituje myslenie na myslenie v objektoch
  • privátne metódy sa nedajú testovať

Nevýhody OOP od iných programátorov

Prvý článok

  • svet nie je tvorený objektami
  • objekty su ilúzia

Druhý článok

  • OOP nie je prirodzené pre ľudský mozog, pretože ten je sústredený okolo robenia vecí a nie okolo rôznych hierarchií
  • pri programovaní je dôležitá jednoduchosť, čo podľa autora OOP nedosahuje, pretože má meniace sa stavy (objekty nie sú immutable)
  • môže sa stať, že pri veľkých projektoch si musím urdžiavať veľa kontextu v hlave
  • v reálnom svete objekty nie sú hierarchické
  • dedenie nie je modelované podľa reálneho sveta
  • v réalnom svete nie sú metódy

Tretí článok (Video)

  • Design Patterns, SOLID principles a všetky tieto veci sú iba band-aids pre zjednodušenie komplikovane vymysleného OOP

Prečo je OOP stále také popúlarne?

  • pretože je to niečo zaužívané
  • veľa systémov je v urobených v objektovo a je potrbené ich udržiavať
  • nič sa zatiaľ neukázalo byť o toľko lepšie, aby sa to oplatilo meniť

Oplatí sa učiť OOP?

  • áno
  • práca v tejto paradigme sa najbližšiu dobu bude dať nájsť
  • aj keď by používateľnosť klesla, tak sa to oplatí naučiť kvôli rozšíreniu obzorov

Užitočné odkazy

Jakubova hra, ktorá učí základné koncepty OOP
Stará dobrá Wiki
OOP pre 6 ročných
Enterprise FizzBuzz
1. Kritik
2. Kritik
3. Kritik

Zaujímavé video k téme. Hovorí o tom, ako OOP dosiahlo dnešnú popularitu. Vraj to nebolo až tak tým, že by OOP bolo nejaké úžasné, ale skôr zhoda viacerých okolností (a marketing Javy).


Pridaj komentár

Vaša e-mailová adresa nebude zverejnená.