Article View: pl.comp.lang.python
Article #26644Re: python vs php - potrzebne argumenty
From: Marcin Nowak
Date: Mon, 23 Nov 2009 07:25
Date: Mon, 23 Nov 2009 07:25
80 lines
5006 bytes
5006 bytes
On Nov 21, 2:06 am, pakalk <pak...@gmail.com> wrote: > Mowilem juz, ze jestes idiota? Na takim poziomie nie ma co dyskutowac. Moje uwagi. (dla duzego projektu, kilka lat intensywnej developerki) 1. PHP 5.2 - brak przestrzeni nazw, styl cgi. - ryzyko class redeclaration jest wysokie - obciazenie autoloadera znaczne - brak namespaces czesto uniemozliwia uzywanie modulow (?) czy klas przygotowanych przez innych, wiec trzeba klepac wlasne implementacje kolejek priorytetowych, albo forkowac istniejace rozwiazania i zmieniac nazwy klas/implementacje, aby sie nie gryzlo - tryb CGI przewrotnie utrzymuje caly system w dzialaniu - powielone nazwy klas to codziennosc, na szczescie requesty/skrypty shell pracuja w troche odmiennych srodowiskach i sytuacja konfliktu nie nastepuje - tryb CGI to fatalna wydajnosc 2. Przestrzenie nazw PHP 5.3 - do wsparcia namespaces z 5.3 przy tak zlozonym projekcie to daleka droga. nie mozna ot tak zmienic wersji php (samo podniesienie php o jakas revision jest w stanie wykrzaczyc system - np. bylo tak, gdy glob () zaczala zwracac null zamiast pustych tablic, pierwszy warning przy array_merge rozwalil cala procedure, soft sie uruchamial, ale dzialal nieprawidlowo) 3. SPL - szczytna inicjatywa; spl jest przez nas stosowany - szkoda, ze nie uzywany jest przez funkcje/klasy wbudowane w php (lub jego moduly), co za tym idzie wiekszosc funkcji zwraca array zamiast listy/iteratora - nie ma zbytnio sensu istnienia w rozbudowanej formie bez namespaces 4. Programowanie z PHP - pisanie skryptow shell jest mozliwe - zrobienie duzego softu jest mozliwe (warto wesprzec sie porzadna baza danych) - jest uciazliwe, czesto zabawne, czesto wkurzajace - kazdy, kto panuje nad wadami/bledami/niescislosciami php oraz lapie sie w zrodlach wielkiego projektu, jest swego rodzaju mistrzem - debug - najczesciej przez dupczenie (var_dup ;) Jesli chodzi o Python: 1. pakiety i moduly, fcgi/wsgi - brak problemow z redeklaracja klas - uzycie zewn. bibliotek jest proste, brak kolizji - wysoka wydajnosc 2. n/d 3. stdlib - rozbudowana, lepiej przygotowana niz stdlib php (uzywa sie o wiele latwiej) - oczywiscie podzielony na pakiety/moduly 4. programowanie z python: - pisanie skryptow shell mozliwe (tu: prostsze, krotsze, przyjemniejsze) - zrobienie duzego softu nie przysparza takich technicznych problemow, jak z php - jest przyjemne, czesto zabawne, rzadko wkurzajace - utrzymanie kodu jest prostsze - debug - dobre narzedzia Da sie uzywac PHP? Do wielu zastosowan tak, tylko po co sie meczyc. Gorzej, jak nie ma odwrotu ;) Juz ktos powiedzial w tym wątku - technologie dobieramy do potrzeb. Ja osobiscie PHP nie wybieram juz nawet do prostych stronek, ale pewnie istnieja dziedziny, w ktorych PHP sprawdzi sie doskonale (chocby patrzac przez pryzmat kosztow pracownika) marcin
Technical Details
Message-ID:
<556ac98b-668b-4b4a-8373-46ed23c0735d@o31g2000vbi.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!news.uni-stuttgart.de!news.belwue.de!kanaga.switch.ch!switch.ch!feeder.news-service.com!postnews.google.com!o31g2000vbi.googlegroups.com!not-for-mailReferences:
<h83in7$rl3$1@inews.gazeta.pl> <ef4e9857-22e5-42e4-a651-be6f21a56447@z41g2000yqz.googlegroups.com> <op.u3lajfqyeaqjf2@jzabielloosx.dubtilt.local> <394cbadd-a89d-41d8-8fe8-116d78e245a7@c3g2000yqd.googlegroups.com> <op.u3mzlhcheaqjf2@jzabielloosx.dubtilt.local> <d76a129f-160d-4173-bc2f-74279fcd0595@s15g2000yqs.googlegroups.com> <op.u3ngjef4eaqjf2@jzabielloosx.dubtilt.local> <ebb48508-1e60-47a3-87ab-8b4ccebeeba0@a32g2000yqm.googlegroups.com> <op.u3nkjowaeaqjf2@jzabielloosx.dubtilt.local> <17047610-9db9-47fc-9d8f-c476d2009b37@s15g2000yqs.googlegroups.com> <op.u3ore7useaqjf2@macbook-pro-15-zbiru.local> <1ed24c15-19ff-4a55-872c-ed0ecc3302c9@p8g2000yqb.googlegroups.com> <221dc55c-d636-44f1-bf11-c437e392aa69@j19g2000yqk.googlegroups.com> <he7dc2$q7s$1@news.lublin.pl> <3d4aa257-cd86-4220-9917-e7ff6af41193@d5g2000yqm.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!news.uni-stuttgart.de!news.belwue.de!kanaga.switch.ch!switch.ch!feeder.news-service.com!postnews.google.com!o31g2000vbi.googlegroups.com!not-for-mail From: Marcin Nowak <marcin.j.nowak@gmail.com> Newsgroups: pl.comp.lang.python Subject: Re: python vs php - potrzebne argumenty Date: Sun, 22 Nov 2009 23:25:07 -0800 (PST) Organization: http://groups.google.com Lines: 80 Message-ID: <556ac98b-668b-4b4a-8373-46ed23c0735d@o31g2000vbi.googlegroups.com> References: <h83in7$rl3$1@inews.gazeta.pl> <ef4e9857-22e5-42e4-a651-be6f21a56447@z41g2000yqz.googlegroups.com> <op.u3lajfqyeaqjf2@jzabielloosx.dubtilt.local> <394cbadd-a89d-41d8-8fe8-116d78e245a7@c3g2000yqd.googlegroups.com> <op.u3mzlhcheaqjf2@jzabielloosx.dubtilt.local> <d76a129f-160d-4173-bc2f-74279fcd0595@s15g2000yqs.googlegroups.com> <op.u3ngjef4eaqjf2@jzabielloosx.dubtilt.local> <ebb48508-1e60-47a3-87ab-8b4ccebeeba0@a32g2000yqm.googlegroups.com> <op.u3nkjowaeaqjf2@jzabielloosx.dubtilt.local> <17047610-9db9-47fc-9d8f-c476d2009b37@s15g2000yqs.googlegroups.com> <op.u3ore7useaqjf2@macbook-pro-15-zbiru.local> <1ed24c15-19ff-4a55-872c-ed0ecc3302c9@p8g2000yqb.googlegroups.com> <221dc55c-d636-44f1-bf11-c437e392aa69@j19g2000yqk.googlegroups.com> <he7dc2$q7s$1@news.lublin.pl> <3d4aa257-cd86-4220-9917-e7ff6af41193@d5g2000yqm.googlegroups.com> NNTP-Posting-Host: 89.76.245.144 Mime-Version: 1.0 X-Trace: posting.google.com 1258961107 22760 127.0.0.1 (23 Nov 2009 07:25:07 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 23 Nov 2009 07:25:07 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: o31g2000vbi.googlegroups.com; posting-host=89.76.245.144; posting-account=NRqDVgoAAADRDiW_vHhim2NGM5a4GSLC User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/532.2 (KHTML, like Gecko) Chrome/4.0.220.1 Safari/532.2,gzip(gfe),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit