🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #26644

Re: python vs php - potrzebne argumenty

#26644
From: Marcin Nowak
Date: Mon, 23 Nov 2009 07:25
80 lines
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-mail
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>

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