Většina moderních počítačových a mobilních aplikací používá techniky OOP.
Kredit obrázku: SoulArt/iStock/Getty Images
Jazyky objektově orientovaného programování jako C++, Java a Visual Basic byly vyvinuty počítačovými vědci, aby urychlili programování a zlepšili kvalitu softwaru. Softwarové techniky OOP rozdělují programy do funkčních bloků nazývaných objekty, které jsou často potřebné funkce, jako jsou ovládací tlačítka, správa databáze a matematika, se snadněji používají a sdílejí programátoři. Výhody však přicházejí s kompromisy, jako je zvýšená složitost softwaru a snížený výkon.
Lepší produktivita
Techniky OOP prosazují programátorovi pravidla, která jí z dlouhodobého hlediska pomohou udělat více práce; hotové programy fungují lépe, mají více funkcí a snadněji se čtou a udržují. Programy, které nepoužívají OOP, bývají velké, souvislé kusy textu jako velmi dlouhé kapitoly v knize. Když programátoři zakročí, aby jej změnili, text se nakonec stane neuspořádaným a hůře sledovatelný. Naproti tomu programátoři OOP berou nové a existující softwarové objekty a „spojují“ je dohromady, aby vytvořili nové programy. Protože knihovny objektů obsahují mnoho užitečných funkcí, nemusí vývojáři softwaru znovu vynalézat kolo tak často; více času věnuje tvorbě nového programu.
Video dne
Nižší náklady na programování
Zejména u větších projektů pomáhá OOP snížit náklady na programátorskou práci. Zaměstnanci pracující na projektu mohou vyvinout svou vlastní knihovnu softwarových objektů, což umožní programátorům vzájemně si snadno využívat práci a zkrátí čas potřebný k vývoji programů. Se zlepšenou kvalitou softwaru stráví vývojáři méně času opravováním nefunkčních programů, což dále snižuje náklady na pracovní sílu.
Strmější křivka učení
Pro zvládnutí OOP se začátečník musí naučit nové, abstraktní pojmy jako např polymorfismus -- opakované použití objektů a přidávání nových funkcí k nim -- a zapouzdření -- skrytí částí vnitřních dat objektu pro zlepšení zabezpečení -- žádný z těchto nápadů se ve starších stylech programování nenachází. Nejen, že se tyto koncepty naučíte dlouho, mohou být příliš složité pro mladší potenciální programátory nebo ty, kteří programují jen příležitostně.
Pomalejší software
Objektově orientovaný software může obsahovat další kód pro údržbu, který není nutný v jiných počítačových jazycích; počítač musí provést dodatečné programování, čímž se zpomalí doba odezvy aplikace. U projektů, kde je důležitá rychlost, se programátoři mohou rozhodnout psát časově nejkritičtější části v non-OOP jazyky jako assembler nebo C, rezervování OOP kódu pro okna nebo tlačítka -- oblasti, ve kterých mají objekty jasno výhoda.