Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Czy PHP naprawdę jest badziewne?
PHPDeveloper
post
Post #1





Grupa: Zarejestrowani
Postów: 0
Pomógł: 0
Dołączył: 14.09.2009

Ostrzeżenie: (10%)
X----


Czy faktycznie każdy rozumny człowiek powinien omijać PHP szerokim łukiem? Największe serwisy internetowe powstały w PHP (Facebook, YT). Internet jest zalany artykułami o beznadziejności PHP. Czy jest tak w rzeczywistości? Jakie są powody by tak twierdzić? Jeff Atwood stara się to wyjaśnić. SPAM

Ten post edytował erix 14.09.2009, 21:45:27
Powód edycji: [erix]: znowu ten sam link, moderka do odwołania [Ociu]: Usunąłem link.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat
I najlepsze co może być, moim zdaniem, to budowanie modelu właśnie w oparciu o te cegiełki-obiekty.

A ja właśnie uważam zupełnie inaczej.
Obiekty służa ładnym uporządkowaniu pewnych funkcjonalności i przejrzystość w korzystaniu z pewnych elementów lecz z ich wykorzystaniem nie przesadzajmy. Nie wszystko musi być obiektem i skoro NIE MUSI nim być to lepiej użyć prostszych i mniej zasobożernych rozwiązań. Obiekt zajmuje znacznie więcej miejsca w pamięci i jeżeli jego użycie nie przyniesie większych korzyści niż zaoszczędzenie sobie jednej linijki kodu to wolę użyć tablicę.

Weźmy chociażby dekoratory w Zend_Form. Noż nie wiem kto coś takiego wymyślił, że każda pierdoła zwykły tag musi być obiektem. W dużym formularzu robi się tych obiektów multum (i multum zapchanej pamięci). A czy nie można było tego zrobić prościej? Chociażby wyświetlanie pojedynczego elementu powierzyć jednemu plikowi szablonu? Ile by się przy tym zaoszczędziło czasu programisty i zasoby serwera.

Weźmy kolejny przykład. Nienawidze nie ścierpie "Mądrego" podejścia większości zendowców. Przesadzają z wykorzystaniem kupy narzędzi, które tak naprawdę są bardzo mało (a czasem nawet wcale) potrzebne.
Przykład. Zastępując require_once metodą Zend_Loader::loadClass . No to cholere? Po co ładować taka banalną rzecz w coś co zrobi to samo tylko, że wolniej (znacznie) oraz żadnej super funkcjonalności nie przynosi. Niedługo dojdzie do tego, że echo zastąpią jakąś klasą.

Najśmieszniejsza rzecz z jaką się spotkałem w świecie zendowców to... żeby usunąć rekord należy go pobrać i dopiero usunąć??

Kolejny kwiatek (nie wiem czy da się to wyłączyć czy też nie, zresztą już mnie to nie interesuje). Po kiego do Zend_Db_Table_Row wrzucany jest mi schemat całej tabeli z szeroką gamą informacji o danej kolumnie? Jak będe potrzebował to sobie sam te informacje pobiore. Koszt jaki tym ponosze? Kolejne marnotrawienie pamięci. O ile da się to w pewien sposób wyłączyć (rozszerzając tą klasę) to i tak klasa rodzica zostaje w pamięci marnotrawiąc kolejne zasoby.

Czy takie marnotrawienie pamięci rzeczywiście jest złe? Oczywiście. Pewnego razu tworzyłem serwis, który posiada dużą ilość osób online na raz (1500), oraz mnóstwo wywołań ajaxowych. Przepisałem cały serwis na super mini mvc. Były m.in takie obiekty (baza danych, obsługa urla, session_handler, kontroler (abstract)) i co? Padło w pierwszym dniu. Trzeba było przywrócić starą wersję i trochę ją posprzątać. Gdzie było zmarnotrawienie pamięci i czasu procesora? A no sparsowanie urla, znalezienie i zainicjowanie kontrolera nie jest tak naprawdę bardzo konieczne (można przecież nawet na potrzeby jednego serwisu potworzyć pare plików .php które parsowanie urla nam oszczędzą (wiadomo nie wszędzie da się tak zrobić) a kontroler też nie jest tak do końca konieczny. Każda taka pierdoła ma ogromne znaczenie przy dużych serwisach, a i przy małych na jednym serwerze potrafi dać pewne oznaki swojej obecności. O ile w podanym przeze mnie przypadku taka pierdoła jest naprawdę mała to już wolę sobie nie wyobrazić jak wielkim wąskim gardłem jest duża ilość rozwiązań z zenda.

Dlatego tak bardzo jest ważne rozsądne korzystanie z obiektowości i nie robienie wielkiego śmietnika, który potrafi dużo ale też bardzo dużo może nas kosztować. I jeżeli, ktoś mówi "autorski FW pewnie nie umie tyle co taki (ten ten a ten i tutaj szeroka lista)" to jest to żaden argument. Ale DOBRZE, że właśnie ten autorski FW nie umie tyle, ale za to ma tyle ile potrzebuje i nie wali kupy w pamięci jeżeli nie jest to konieczne.
Go to the top of the page
+Quote Post

Posty w temacie
- PHPDeveloper   Czy PHP naprawdę jest badziewne?   14.09.2009, 14:22:37
- - bogdan89   spam? niektórzy programiści są nietolerancyjni   14.09.2009, 14:28:59
- - mike   Jeszcze jakiś czas temu zastanawiałem się nad tym....   14.09.2009, 14:33:14
- - sztosz   W PHP każdy głupi umie napisać dynamiczną stronę k...   14.09.2009, 15:01:05
- - Ociu   Usunąłem link żeby spamu nie było i zapraszam do d...   14.09.2009, 15:02:23
- - f1xer   A dlaczego od razu omijać ? hmm ja na przykład uwa...   14.09.2009, 15:20:12
|- - mike   Cytat(f1xer @ 14.09.2009, 16:20:12 ) ...   14.09.2009, 15:42:28
- - f1xer   tak masz rację poprawna forma to : Jedno jest pewn...   14.09.2009, 15:48:09
- - viking   @stosz: http://pl2.php.net/manual/pl/book.java.php...   14.09.2009, 15:55:29
|- - Riklaunim   Cytat(viking @ 14.09.2009, 16:55:29 )...   14.09.2009, 16:07:29
- - Jabol   Więc odpowiedź na to pytanie IMHO jest tylko jedna...   14.09.2009, 16:10:53
|- - mike   Cytat(Jabol @ 14.09.2009, 17:10:53 ) ...   14.09.2009, 20:01:16
|- - Jabol   Cytat(mike @ 14.09.2009, 21:01:16 ) A...   14.09.2009, 20:51:27
|- - mike   Cytat(Jabol @ 14.09.2009, 21:51:27 ) ...   15.09.2009, 09:57:07
|- - sztosz   Cytat(mike @ 15.09.2009, 10:57:07 ) ~...   15.09.2009, 10:28:49
- - erix   Ech, temat-flame... Czy mi się zdaje, czy wszyscy...   14.09.2009, 17:09:37
- - Jabol   @erix: starałem się jak mogłem odnieść do większej...   14.09.2009, 17:27:59
- - thek   A mnie się wydawało, że wiele języków ma to ustawi...   15.09.2009, 09:18:50
- - Bonastick   Jestem w trakcie czytania Bruce'a Eckel'a ...   15.09.2009, 09:37:59
|- - thek   Cytat(Bonastick @ 15.09.2009, 10:37:5...   15.09.2009, 11:31:12
- - Bonastick   Na Eckel'a skusilem sie, gdyz przed zakupem ks...   15.09.2009, 10:44:48
|- - mike   Cytat(Bonastick @ 15.09.2009, 11:44:4...   15.09.2009, 11:03:28
- - korro   Narzekać można. Ja pracuję w dużej korporacji, nie...   15.09.2009, 11:48:15
|- - Speedy   Cytat(korro @ 15.09.2009, 12:48:15 ) ...   15.09.2009, 14:38:02
|- - plurr   Cytat(korro @ 15.09.2009, 12:48:15 ) ...   15.09.2009, 16:46:11
- - korro   Oczywiście odpowiem. Ta wielka korporacja zajmuje ...   15.09.2009, 14:41:33
- - Cysiaczek   CytatCieszy mnie też popularność frameworków - w p...   16.09.2009, 10:18:47
|- - plurr   Cytat(Cysiaczek @ 16.09.2009, 11:18:4...   16.09.2009, 11:49:21
|- - Jabol   Cytat(plurr @ 16.09.2009, 12:49:21 ) ...   16.09.2009, 12:54:32
||- - plurr   Cytat(Jabol @ 16.09.2009, 13:54:32 ) ...   16.09.2009, 14:16:13
||- - mike   Cytat(plurr @ 16.09.2009, 15:16:13 ) ...   16.09.2009, 14:32:22
|- - mike   Cytat(plurr @ 16.09.2009, 12:49:21 ) ...   16.09.2009, 12:58:18
- - sztosz   Heh, przez chwilę nawet zacząłem wierzyć że nie ża...   16.09.2009, 11:04:45
- - sztosz   Czegoś z tym frameworkiem nie rozumiem. Jeśli napi...   16.09.2009, 13:12:08
|- - nasty   Cytat(sztosz @ 16.09.2009, 14:12:08 )...   16.09.2009, 13:14:45
- - phpion   Jeżeli napiszesz to zgodnie ze wzorcem MVC to jak ...   16.09.2009, 13:16:20
- - sztosz   Plurr napisałe że w JEE można by się obejść bez FW...   16.09.2009, 15:34:58
|- - plurr   Cytat(sztosz @ 16.09.2009, 16:34:58 )...   16.09.2009, 18:07:16
- - nasty   Jeżeli zrobisz (nazwijmy to na razie tak) zbiór kl...   16.09.2009, 16:02:50
- - Zyx   PHP to ofiara swojego własnego wieku dziecięcego. ...   16.09.2009, 16:30:36
- - sztosz   A to teraz ja już wiem o co tobie chodziło, czyli ...   16.09.2009, 19:14:28
- - Crozin   CytatChodziło mi o rozdzielanie widoku od logiki n...   16.09.2009, 22:22:19
|- - mike   Cytat(Crozin @ 16.09.2009, 23:22:19 )...   16.09.2009, 22:55:38
|- - nasty   Cytat(mike @ 16.09.2009, 23:55:38 ) N...   17.09.2009, 11:30:07
- - Crozin   @mike: dla maksymalnego uproszczenia zarówno widok...   17.09.2009, 16:18:13
- - plurr   Crozin: Po części masz rację, można i w taki sposó...   17.09.2009, 18:38:43
- - Zyx   Nasty ma sporo racji w tym, co pisze. Przede wszys...   18.09.2009, 08:29:19
|- - plurr   Cytat(Zyx @ 18.09.2009, 09:29:19 ) pl...   18.09.2009, 09:54:03
- - LBO   Cytat(Zyx @ 18.09.2009, 09:29:19 ) /c...   18.09.2009, 09:31:44
- - Zyx   Trochę ciekawych rzeczy zbliżających się do tego, ...   18.09.2009, 16:25:03
- - LBO   Cytat(Zyx @ 18.09.2009, 17:25:03 ) LB...   18.09.2009, 18:37:19
- - Jabol   @LBO: a w jakim zakresie projektowanie własnego mo...   18.09.2009, 18:42:11
- - sztosz   ORM to tylko Object-relational mapping, czyli w up...   18.09.2009, 19:02:58
- - wookieb   CytatI najlepsze co może być, moim zdaniem, to bud...   18.09.2009, 20:08:19
- - LBO   Cytat(Jabol @ 18.09.2009, 19:42:11 ) ...   18.09.2009, 21:19:46
- - erix   ~wookieb, a już myślałem że sam na tym świecie z t...   18.09.2009, 21:44:37
- - thek   Szczerze? Ja tam jakoś nigdy do wbudowanych ORM ni...   18.09.2009, 22:20:03
- - batman   CytatMnie też właśnie ZF denerwuje takim podejście...   18.09.2009, 22:20:24
- - wookieb   Cytat(batman @ 18.09.2009, 23:20:24 )...   18.09.2009, 22:36:20
- - batman   CytatGdyby tak wszyscy mówili to żylibyśmy jak lem...   18.09.2009, 22:52:16
- - wookieb   Cytat(batman @ 18.09.2009, 23:52:16 )...   18.09.2009, 23:10:02
- - thek   Przychylę się do tego co mówi wookieb i co być moż...   19.09.2009, 00:25:03
- - Crozin   Co do OOPCytatJest jak najbardziej prawidłowym pod...   19.09.2009, 09:02:47
|- - thek   Cytat(Crozin @ 19.09.2009, 10:02:47 )...   19.09.2009, 10:30:33
- - nasty   Oj Panowie, Panowie... W ostatnich paru postach ...   19.09.2009, 09:22:45
- - nasty   thek, nie o to mi chodziło Tu nie chodzi o skille...   19.09.2009, 10:50:51
- - thek   Wcale nie twierdzę, że Twoje rozwiązanie jest/było...   19.09.2009, 11:05:32
- - batman   CytatPrzychylę się do tego co mówi wookieb i co by...   19.09.2009, 11:11:18
|- - thek   Takie rozwiązanie z dokupowaniem pamięci może być,...   19.09.2009, 19:10:51
- - erix   CytatPodstawą nauki dowolnego frameworka/bibliotek...   19.09.2009, 11:32:25
- - plurr   Widzę, Panowie, że temat zszedł już na poziom proj...   19.09.2009, 11:33:48
- - batman   CytatJeszcze żeby rzeczywistość była taka piękna, ...   19.09.2009, 11:38:48


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 16:15