🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: python vs php - potrzebne argumenty

#26754
From: Marek Wywiał
Date: Thu, 29 Oct 2009 07:44
87 lines
4426 bytes
On 28 Paź, 22:04, pakalk <pak...@gmail.com> wrote:
> On Sep 7, 7:17 pm, " " <sze...@WYTNIJ.gazeta.pl> wrote:
>
> > Witam.
>
> > Jak dotąd przychodzi mi do głowy to, że:
>
> > - sensownie zaprojektowane frameworki phpowe są w nowością
> > i nie umywają się dojrzałością, dokumentacją i ilością dodatków do django
>
> Bzdura. Wystarczy spojrzeć na Symfony

symfony jest wzorowany na django, części są portowane lub kopiowane:
 * http://svn.symfony-project.com/branches/1.2/data/web/sf/sf_admin/js/collapse.js

 "> On Feb 4, 8:27 am, Fabien POTENCIER <fabien.potenc...@symfony-
> project.com> wrote:
> > Django is just awesome. I think it's the best python framework... and
> > some features of symfony 2.0 are inspired by Django ;-)
> > Fabien "

>
> > - djangowy orm zjada phpowe wymysły na śniadanie
>
> Doctrine, Propel

doctrine prezentuje się lepiej, zaś propel jest bardzo 'wesołym'
softem.
Zdefiniuj sobie model Product i w nim 2 relacje do np Document jako
order_document_id, i financial_document_id
propel wygeneruje ci metody getDocumentRelatedByOrderDocumentId i
getDocumentRelatedByFinanacialDocumentId
na razie super, używasz sobie tych metod w całym sofcie.

Kiedyś jednak relacja do finacial_document_id zmienia sie na n-n i
usuwasz FK. Wtedy propel usłużnie usunie OBIE metody
i stworzy jedną getDocument, która zastąpi
getDocumentRelatedByOrderDocumentId.

Zaś obsługa relacji n-n tez jest porażająca.

>
> > - django ma panel admina
>
> Symfony

symfony nie ma panelu admina, tylko generator do pojedynczych widoków,
bez logowania,  bez layoutu, bez operacji grupowych
to sobie musisz sam napisać. W django dostajesz gotową aplikację.

>
> > - python jako język bardziej zwięzły generuje krótszy, czytelniejszy i przez
> > to łatwiejszy w utrzymaniu kod
>
> Kod krótszy nie musi być czytelniejszy

nie musi, ale masz mniej do czytania i mniej miejsc do popełnienia
błędów

>
> > - python ma bibliotekę standardową która jest zaprojektowana obiektowo
> > i korzysta z mechanizmu wyjątków, czego chyba nie da sie powiedzieć o php
>
> Mechanizm wyjątków nie czyni jezyka wyjątkowym

wyjątkowym może nie, ale bezpieczniejszym i łatwiejszym w użyciu.
Wole dostać wyjątek, że nie zdefiniowałem zmiennej niż przesłać tą
niezdefiniowaną zmienną
do miliona rekordów w bazie czyszcząc wpisy i dowiedzieć się o tym po
fakcie przeglądając bazę
lub logi z php.

Ew. wykonując connect do ftp w pythonie dostaniesz wyjątki na każdą
okazję, nieprawidłowy host/port user, itp
w php dostaniesz true false, w logach sobie przeczytasz co się stało,
ale co wyświetlić temu klientowi, który użył
twojego webgui i chciałby wiedzieć gdzie popełnił błąd?

>
> > - historia bezpieczeństwa php jest fatalna
>
> Bzdura

niestety nie miałem czasu zapoznać się ze wszystkimi argumentami,
które tu podałeś,
ale po zapoznaniu się z wpisami w changelog'u php zgadzam się z
przedmówcą.
Technical Details
Message-ID: <a501db87-9ccf-4694-a8f8-330a67cdc839@15g2000yqy.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!lublin.pl!uw.edu.pl!newsgate.cistron.nl!newsgate.news.xs4all.nl!194.109.133.84.MISMATCH!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!feeder.news-service.com!postnews.google.com!15g2000yqy.googlegroups.com!not-for-mail
References: <h83in7$rl3$1@inews.gazeta.pl> <b9dc7116-39db-474f-9282-8862b3f1cad2@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!lublin.pl!uw.edu.pl!newsgate.cistron.nl!newsgate.news.xs4all.nl!194.109.133.84.MISMATCH!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!feeder.news-service.com!postnews.google.com!15g2000yqy.googlegroups.com!not-for-mail
From: Marek Wywiał <onjinx@gmail.com>
Newsgroups: pl.comp.lang.python
Subject: Re: python vs php - potrzebne argumenty
Date: Thu, 29 Oct 2009 00:44:35 -0700 (PDT)
Organization: http://groups.google.com
Lines: 95
Message-ID: <a501db87-9ccf-4694-a8f8-330a67cdc839@15g2000yqy.googlegroups.com>
References: <h83in7$rl3$1@inews.gazeta.pl> <b9dc7116-39db-474f-9282-8862b3f1cad2@d5g2000yqm.googlegroups.com>
NNTP-Posting-Host: 83.238.76.169
Mime-Version: 1.0
X-Trace: posting.google.com 1256802275 29321 127.0.0.1 (29 Oct 2009 07:44:35 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Thu, 29 Oct 2009 07:44:35 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: 15g2000yqy.googlegroups.com; posting-host=83.238.76.169;  posting-account=eUslOwoAAABzJHUPZYYTJJROK5AqCeD5
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.3  (KHTML, like Gecko) Chrome/4.0.223.11 Safari/532.3,gzip(gfe),gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit