Ep. 23 – OOP Part 7 (Temná strana OOP)
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.
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).