Logo

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.

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).

Logo
Street of Code o.z.Hlaváčiková 2984105, Bratislava
Chcem odoberať novinky
Poskytnutím emailu súhlasíš s jeho spracovaním v súlade s GDPR.
Copyright © 2024 Street of Code
Kód tejto stránky si vieš pozrieť na našom GitHub-e