Autor Zpráva
Mastodont
Profil
Nové jádro Blox2 jsem napsal v roce 2005. Bylo moderní, voňavé a objektové, bohužel se ukázalo, že je líné jako vandrácká veš v srpnu. Udělal jsem si pár testů a zjistil jsem, že režie objektů v PHP není tak strašná jak jsem si myslel. Zjistil jsem že je mnohem strašnější. Během čtrnácti dnů jsem napsal od základů nové jádro Blox3, které je "smradlavě-procedurální" a neobsahuje jediný řádek vysoce kvalitního objektového kódu, ale je rychlé a snadno rozšiřovatelné.

http://zapisnik.maly.cz/486256-pod-kapotou-systemu.php

IMHO se objekty nemají cpát všude, ale jen tam, kde se skutečně uplatní třeba dědičnost, která značně snižuje množství kódu. Máte podobný názor, případně zkušenosti jako autor výše citovaného textu?
Peca
Profil
By mě velice zajímalo, jak dotyčný dělal ty testy. Pochybuju, že na nějaký blog chodí sta tisíce návštěvníků denně, takže nějaké zrychlení v řádech milisekund je velice směšné...
Právě naopak, čím rozsáhlejší projekt, tím častěji se používá OOP. Samozřejmě se všechno dá udělat i bez objektů. Osobně je skoro vůbec nepoužívám. Mám jenom pár vlastních drobných tříd pro přihlášování, generování formulářů apod.
tiso
Profil
Peca - OOP ma svoje za i proti - rýchlosť, pamäť a podobne...
Peca
Profil
tiso
Na rychlost a paměť se v dnešní době nehraje. To je pakatel ve srovnání s cenou software. Pokud je PHP pomalé, dá se použít jiný jazyk. Portály v PHP dělané nejsou a pomalý blog neexistuje.
Loyza
Profil *
Ten autor daného výroku je jakýsi Martin Malý, autor a administrátor Bloguje, takže do toho asi má co mluvit. Nicméně je to jediný člověk, který něco takového prohlašuje. Já si myslím, že na rychlosti občas záleží a občas ne. Objekty jsou výborné a dost dokážou zjednodušit programování a i aplikace napsaná objektově je mnohem hezčí. Žádný (příháním) program pro desktop není napsaný bez objektů.
Myslím si, že u naprosté většiny uživatelů tohoto fóra jsou objekty přínosné a jejich režie je nemusí trápit.
tiso
Profil
Peca - je rozdiel jeden blog a celý blogovací systém...
Joker
Profil
Na rychlost a paměť se v dnešní době nehraje.
Ale hraje. Pravda, dneska ani hodně složitý požadavek není pro server problém. Jenže jak se říká, "stokrát nic umořilo osla". Já zkoušel třeba šablonky FastTemplates, které mají být už podle názvu hodně rychlé. A taky jo, potíž nastala, když jsem zkusil udělat přes šablony trochu složitější stránku- články a komentáře k nim. A s překvapením jsem zjistil, že skript trvá neúnosně dlouho. Testováním jsem zjistil, že rychlost FastTemplates dost podstatně klesá se složitostí struktury šablon. Zkusil jsem napsat jiný kód a ten v závislosti na složitosti struktury zpomaloval daleko méně. Problém vyřešen.

Pokud je PHP pomalé, dá se použít jiný jazyk.
A když to nic nevyřeší? Neefektivní kód v ASP.NET nebo čemkoliv jiném může být stejně pomalý jako neefektivní kód v PHP. Navíc optimalizovat stávající aplikaci na rychlost může být daleko jednodušší, než jí napsat znovu v jiném jazyce.


Jinak OOP má samozřejmě výhody a nevýhody. Hlavní výhoda OOP je jednodušší a přehlednější kód, což znamená omezení chyb a nedokonalostí aplikace. Nevýhoda je vyšší režie.
Pokud se aplikaci věnuje jeden člověk víceméně soustavně, pamatuje si všechny "vychytávky" a ještě navíc náročnost aplikace spočívá v častém volání jednoduchých funkcí, tady asi OOP moc výhodné nebude.
Naopak pokud na aplikaci dělá víc lidí, nebo jeden člověk se věnuje různým věcem a čas od času něco připrogramuje a aplikace je složitá, může být objektový návrh díky menšímu množství chyb a nedokonalostí v aplikaci i rychlejší, než procedurální.
roberta
Profil
Peca
Na rychlost a paměť se v dnešní době nehraje.
tak to si silne na omyle. napr. skús navrhnúť algoritmus vyhľadávania informácií na internete...
Pavel Strejček
Profil
Když se aplikace správně navrhne, zpomalení nemůže být fatální.
IMHO pro každou složitější aplikaci jsou objekty nutnost i za cenu jistého zpomalení, protože jinak:

1. se v tom nikdo nevyzná, ani autor. A může jich být samozřejmě víc.
2. bude to špatně rozšiřitelné a upravitelné, udělat jakoukoliv menší změnu bude peklo. V objektech je vše zapouzdřené, ale v procedurálním programování člověk neví, co změna jedné proměnné způsobí.

Pokud se třeba dělá skriptík na 300 řádků tak to jde i bez objektů, ale obvykle se to stejně vyplatí objektově.
Toto téma je uzamčeno. Odpověď nelze zaslat.