To je naprostá pitomost, také jsem to četl (na diskusi na Zdrojáku). Ten člověk je asi nějaký teoretik a ještě k tomu se 30 let zastaralými informacemi a názory. OOP se dnes používá (až na specializované low level drivery nebo programy pro jednočipy) všude a na čemkoliv větším je to jediný způsob, jak zvýšit přehlednost kódu. Pokud budete mít procedurální program o 1000 funkcích, tak se v něm už málokdo vyzná a zvláště pak nemožnost ošetření přístupu metod ke globálním proměnným (každá funkce může manipulovat se vším) to znamená netestovatelný bastl, ve kterém se vyzná jen autor sám bez ohledu na to, jaká je dokumentace. Pokud se logika aplikace přehledně rozdělí do tříd s jasně definovanými odpovědnostmi, které mohou mít svůj vlastní stav, nepoužívají se globální proměnné (nebo jen minimálně), výsledný kód je mnohem snáze spravovatelný, udržovatelný a testovatelný, což znamená nesrovnatelně nižší náklady na následnou údržbu. Navíc 8GB RAMky do notebooku stojí asi 1000 Kč. Zaobírat se tím, jestli aplikace sežere o 100MB knihoven víc nebo méně má smysl jen ve speciálních případech, kterých jsou jednotky z tisíců. Stejně tak procesory jsou dnes tak rychlé, že máte problém je na něco zaměstnat, pokud nepíšete nějaký složitý algoritmus nebo hru. Výkonnostní problémy se občas musí řešit, ale nepřehlednost a neudržovatelnost kódu bych za pár ms zrychlení a úsporu pár MB paměti určitě nevyměnil. Je potřeba vždy zvolit kompromis mezi přehledností, snadností vývoje (potažmo náklady) a rychlostí - někdy má smysl optimalizovat, ale je spousta mikrooptimalizací, kde je např. úplně jedno, jestli použijete DataTable nebo vlastní třídu - rozdíl je nepostřehnutelný a máte s tím spoustu práce navíc.
|