🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: python vs php - potrzebne argumenty

#26578
From: pakalk
Date: Fri, 13 Nov 2009 22:22
90 lines
5623 bytes
On Nov 10, 2:39 pm, "Jaroslaw Zabiello" <use...@onet.eu> wrote:
> On Fri, 06 Nov 2009 18:09:46 -0000, pakalk <pak...@gmail.com> wrote:
> > Jedyne co moge stwierdzic, to to, ze jesli
> > zamienic bledy na wyjatki
>
> ... to wtedy to już nie byłby PHP. Taka zmiana to poważna robota, bo  
> trzeba by poprawić wszystkie funkcje wbudowane, gdyż one nie rzucają  
> wyjątków.

To się realizuje przez error handler, więc mogę działać z tymi
funkcjami co są. Gorzej z fatal errorami, ale te też się da czasem
wyłapać (user_error ostatnio musialem, bo debilne smarty nie ma czegos
jak validateTemplate())

> W sumie musiałbyś napisać nową implementację pehapa. Nie ma  
> zmiłuj. To już lepiej z tym gównem się nie męczyć, ale użyć porządniej  
> zaprojektowanego języka.

Porządnej biblioteki. Można skopać każdy język zlymi bibliotekami ;)

> No bo poza ewentualną koniecznością utrzymania  
> jakiegoś wcześniej napisanego, dużego kodu, czy korzystania z gotowego  
> rozwiązania (np. do obsługi forum) to jaki sens pisać coś w PHP?

Szybko sie pisze, stosunkowo latwo rozprowadza.

> Ani to  
> szybkie, ani spójne i łatwiejsze w utrzymaniu.

Zend Framework mnie zabil

> Django, Rails czy Merb  
> deklasują pehapowe frameworki.

Railsow, czy Merba nie widzialem. Django jest bardzo fajne. Pod
wzgledem funkcjonalnym Symfony tez jest niezle.

> Zarówno wydajnościowo jak i funkcjonalnie.  
> Poza tym Python i Ruby to języki ogólnego zastosowania, można je więc użyć  
> w miejsce skryptóĻw bashowych, perlowych jak i do nawet tworzenia  
> aplikacji desktopowych.

Jako skryptow mozna uzyc tez PHP, do desktopowych raczej Java by sie
nadawala (oczywiscie nie z superwolnym swingiem). Jest jednak szybsza
kilka razy.

>
> > (no pozostaje FATAL ERROR),
>
> Ano pozostaje. Samoobsługowego serwera nie napiszesz w pehapie. Jeden  
> przypadkowy fatal error i wszystko leży.

Mozna to obejsc niby handlerem bufora wyjscia, ale to troche
naciagane.

>
> > Zagladanie do logow tez nie jest takie straszne - szczegolnie,
>
> W wypadku pehapa nie masz innego wyjścia jak grzebać w logach i szukać  
> miejsc które spowodowały kompletne załamanie się całej aplikacji.  

Z tym sie wciaz nie bede zgadzal, bo wg mnie w logach powinny byc dane
o bledzie. Podczas developerki natomiast, mamy Firebuga. Wszystko co
sie wylapie, mozna wyslac na konsole.

> Oczywiście, wszystko po faktach. Najlepiej jak fatal error padnie podczas  
> operacji finansowej, zakupu czegoś w sklepie internetowym.

No to znaczy, ze na produkcji byla niestabilna wersja, co nie powinno
miec miejsca.

> Jak ktoś lubi  
> ryzyko to niech używa pehapa i potem kłóci się z klientami że serwis  
> działa jak kupa.

Ale jak blad sie zdarzy w pythonie po operacji finansowej, to co? W
magiczny sposob sie przywroci stan sprzed bledu? Raczej nie..

Poza tym, operacje (wew) zazwyczaj opieraja sie na danych, a te
zabezpieczac powinny bazy danych. Zewnetrzne uslugi posiadaja
natomiast system transakcji, co tez zabezpieczyc powinno przed
bledami.

Zepsuc mozna wszedzie i wszystko. To, ze w PHP jest jak jest z bledami
to "zasluga" liczby programistow - szczegolnie nieudolnych. I tego, ze
jak ktos napisze takie mambo-jambo-joomle, to potem wszyscy korzystaja
i nie zwazaja na lepsze rozwiazania, bo "po co mi to jak mam to". W
pythonie jest inaczej, bo jak ktos cos pisze, to sie zastanawia. Choc
jak widze niektore modele zdarzen zaimplementowane w pythonie, to sie
zastanawiam, czy ktos za dlugo nie myslal ;)
Technical Details
Message-ID: <929230b3-8c01-4aa0-ba4d-af46cf4196f1@m16g2000yqc.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!m16g2000yqc.googlegroups.com!not-for-mail
References: <h83in7$rl3$1@inews.gazeta.pl> <hcc9nt$eqr$1@news.lublin.pl> <f03c49b0-651b-4afa-ad73-db8dde63fdef@p35g2000yqh.googlegroups.com> <hccvvt$u0t$1@news.lublin.pl> <ac46bc62-a3ee-40a1-ac5d-860be3029272@z41g2000yqz.googlegroups.com> <hcd7ck$3a6$1@news.lublin.pl> <2f2d1c53-fa9a-40b1-be71-60f530a0be72@g23g2000yqh.googlegroups.com> <21c2c0bd-464f-45b2-a3ce-449c0412d48c@b2g2000yqi.googlegroups.com> <ad429fa2-5c6d-47a8-8337-1dafcd18c0b9@a31g2000yqn.googlegroups.com> <858f3466-5bdd-4c10-baa1-974089ef29ba@s31g2000yqs.googlegroups.com> <op.u2tsh4k3eaqjf2@mydot.ftpviewlocal.com> <1be92709-f662-4da5-8f44-3ab83d3915d3@k19g2000yqc.googlegroups.com> <op.u2vg6knceaqjf2@mydot.ftpviewlocal.com> <f45ba553-947c-40ff-a96a-88ac21ea20ab@37g2000yqm.googlegroups.com> <op.u26lj6r2eaqjf2@jzabielloosx.dubtilt.local>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!m16g2000yqc.googlegroups.com!not-for-mail
From: pakalk <pakalk@gmail.com>
Newsgroups: pl.comp.lang.python
Subject: Re: python vs php - potrzebne argumenty
Date: Fri, 13 Nov 2009 14:22:58 -0800 (PST)
Organization: http://groups.google.com
Lines: 107
Message-ID: <929230b3-8c01-4aa0-ba4d-af46cf4196f1@m16g2000yqc.googlegroups.com>
References: <h83in7$rl3$1@inews.gazeta.pl> <hcc9nt$eqr$1@news.lublin.pl>  <f03c49b0-651b-4afa-ad73-db8dde63fdef@p35g2000yqh.googlegroups.com>  <hccvvt$u0t$1@news.lublin.pl> <ac46bc62-a3ee-40a1-ac5d-860be3029272@z41g2000yqz.googlegroups.com>  <hcd7ck$3a6$1@news.lublin.pl> <2f2d1c53-fa9a-40b1-be71-60f530a0be72@g23g2000yqh.googlegroups.com>  <21c2c0bd-464f-45b2-a3ce-449c0412d48c@b2g2000yqi.googlegroups.com>  <ad429fa2-5c6d-47a8-8337-1dafcd18c0b9@a31g2000yqn.googlegroups.com>  <858f3466-5bdd-4c10-baa1-974089ef29ba@s31g2000yqs.googlegroups.com>  <op.u2tsh4k3eaqjf2@mydot.ftpviewlocal.com> <1be92709-f662-4da5-8f44-3ab83d3915d3@k19g2000yqc.googlegroups.com>  <op.u2vg6knceaqjf2@mydot.ftpviewlocal.com> <f45ba553-947c-40ff-a96a-88ac21ea20ab@37g2000yqm.googlegroups.com>  <op.u26lj6r2eaqjf2@jzabielloosx.dubtilt.local>
NNTP-Posting-Host: 83.4.166.50
Mime-Version: 1.0
X-Trace: posting.google.com 1258150978 11708 127.0.0.1 (13 Nov 2009 22:22:58 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Fri, 13 Nov 2009 22:22:58 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: m16g2000yqc.googlegroups.com; posting-host=83.4.166.50;  posting-account=rLTIYAoAAAAC0UY184o3dcMgnRpikGCw
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US)  AppleWebKit/532.3 (KHTML, like Gecko) Chrome/4.0.223.16 Safari/532.3,gzip(gfe),gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit