Article View: pl.comp.lang.python
Article #26759Re: python vs php - potrzebne argumenty
From: pakalk
Date: Sat, 31 Oct 2009 19:54
Date: Sat, 31 Oct 2009 19:54
126 lines
5627 bytes
5627 bytes
On Oct 31, 8:33 pm, "Jaroslaw Zabiello" <use...@onet.eu> wrote:
> Dnia 31-10-2009 o 12:08:38 pakalk <pak...@gmail.com> napisał(a):
>
>
>
>
>
> >> function jakis_kod() { return null; }
> >> $obj = jakis_kod();
> >> $obj->jakas_metoda(); # hehe, php leży i kwiczy
>
> > Tak, racja. Tutaj jest do dupy. Da sie to wylapac, ale nie da sie
> > obsluzyc.
>
> > Ewentualnie...
>
> > function jakis_kod()
> > {
> > return null;
> > }
>
> > $obj = jakis_kod();
>
> > if ( $obj !== null )
> > {
> > $obj->jakas_metoda();
> > }
> > ;
>
> Prawda, jakie to wspaniałe, że w PHP trzeba sprawdzać wartość każdej
> zmiennej przed jej użyciem aby uniknąć kompletnego upadku całej aplikacji?
Nie no, nie kazdej. Zreszta to chyba nie nowosc, ze jezeli cos Ci moze
zwrocic rozne wartosci to sie to testuje.
> To, że to wygląda jak kupa to jedno.
Jak dla mnie to ify takie kupowate nie sa :P
> To, że nie można polegać na systemie
> wyjątków w PHP - to drugie.
Czemu nie mozna?
>
> Podobnie z modelem obiektowym. Za pierwszym razem (w wypadku PHP4) wyszło
> im to tak nieudacznie, że ten kod nie nadawał się do dalszych poprawek.
Lepiej o tym nie mowic. To byla tylko proteza.
> Stąd model obiektowy w PHP5 został napisany od podstaw!
Podobnie jak caly Zend Engine. A to zle?
>
> Niestety, drugie podejście jest też niezbyt udane, bo twórcy pehapa
> zapatrzyli się trochę nie w tą stronę. Statycznie typowana, z silną
> typizacją Java to raczej kiepski wzorzec dla obiektowości w języku
> dynamicznym o słabej typizacji jakim jest PHP. Java nie jest językiem
> czystym obiektowo (poza tym model obiektowy Javy ma sporo wad).
Jak dla mnie to ten model nie jest zly. Rzeklbym, ze uznany za
swiatowy standard.
>
> Wprowadzono do PHP zupełnie bezsensownie nieobiektowe konstrukcje w
> postaci metod statycznych,
A to w pythonie nie ma? I dlaczego bezsensowne? Metody statyczne
(klasowe) to standard OOP.
> interfejsów
Interfejsy sa nieobiektowymi konstrukcjami?
> czy głupi podział na prymitywy i
> obiekty.
No fakt, ze latwiej ogarnac jedne typ zmiennych.
> Gdyby "miszczowie" rzucili okiem na inne języki (z tej samej
> bajki, czyli dynamicznie typowane) to by może uniknęli głupich decyzji
> projektowych. No, ale jak to się mówi do trzech razy sztuka. Może trzecie
> podejście, jeśli do tego dorosną, w końcu im wyjdzie i PHP zbliży się
> trochę do nowocześniejszych języków programowania.
Tzn. pythona bez podstawowego modyfikatora protected i __protezy dla
private? :)
> Moim zdaniem, ten język brnie w ślepy zaułek.
Nie jest tak zle, ale bez zerwania z BC dalszy rozwoj moze byc niezle
zblokowany.
> Popełniono wiele błędów
> projektowych i nadal się w nie brnie. PHP też już dawno nie jest językiem
> prostym, robi się coraz bardziej skomplikowany,
Ale nie zagmagtwany. Akurat nowe biblioteki sa bardziej uporzadkowane,
a konstrukcje pomagaja w programowaniu.
> tracąc swój początgkowy
> atut jakim była prostota.
I co za tym idzie, mnostwo prostych magic_quotes itp.
> Jest coraz wolniejszy w stosunku do innych
> języków dynamicznie typowanych.
To zalezy od implementacji, ale nie znam dobrych benchamarkow.
>
> Poza tym, przy pehapie tkwi dużo osób którzy w ogromnej większości
> prezentują bardzo niski poziom wiedzy na temat sztuki programowania. A
> każdy kto trochę więcej się podszkoli, szybko zaczyna tracić pierwotny
> entuzjazm fanboja i kieruje się do Pythona lub Ruby.
Ci, ktorzy sie podszkola wola jave.
>
> To prawda, że wciąż łatwiej znaleźć programistę PHP niż Ruby czy Pythona.
> Jednak w tym wypadku ilość nie oznacza jakości.
>
Co tez nie znaczy, ze dobrych programistow PHP jest mniej niz Pythona
czy Ruby.
Technical Details
Message-ID:
<12b7fbaa-206c-4b39-8868-4e3b96eea704@37g2000yqm.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!wsisiz.edu.pl!plix.pl!newsfeed1.plix.pl!news-out1.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.nl!xlned.com!feeder1.xlned.com!multikabel.net!newsfeed10.multikabel.net!feeder1.cambriumusenet.nl!feed.tweaknews.nl!postnews.google.com!37g2000yqm.googlegroups.com!not-for-mailReferences:
<h83in7$rl3$1@inews.gazeta.pl> <b9dc7116-39db-474f-9282-8862b3f1cad2@d5g2000yqm.googlegroups.com> <a501db87-9ccf-4694-a8f8-330a67cdc839@15g2000yqy.googlegroups.com> <7aa62383-88c2-4138-89d6-594112504075@g27g2000yqn.googlegroups.com> <op.u2nhqrhyeaqjf2@macbook-pro-15-zbiru.local> <97ad13b9-95bf-4c61-8a1b-59c7c57e8499@s31g2000yqs.googlegroups.com> <op.u2oi93ceeaqjf2@macbook-pro-15-zbiru.local>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!wsisiz.edu.pl!plix.pl!newsfeed1.plix.pl!news-out1.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.nl!xlned.com!feeder1.xlned.com!multikabel.net!newsfeed10.multikabel.net!feeder1.cambriumusenet.nl!feed.tweaknews.nl!postnews.google.com!37g2000yqm.googlegroups.com!not-for-mail From: pakalk <pakalk@gmail.com> Newsgroups: pl.comp.lang.python Subject: Re: python vs php - potrzebne argumenty Date: Sat, 31 Oct 2009 12:54:08 -0700 (PDT) Organization: http://groups.google.com Lines: 142 Message-ID: <12b7fbaa-206c-4b39-8868-4e3b96eea704@37g2000yqm.googlegroups.com> References: <h83in7$rl3$1@inews.gazeta.pl> <b9dc7116-39db-474f-9282-8862b3f1cad2@d5g2000yqm.googlegroups.com> <a501db87-9ccf-4694-a8f8-330a67cdc839@15g2000yqy.googlegroups.com> <7aa62383-88c2-4138-89d6-594112504075@g27g2000yqn.googlegroups.com> <op.u2nhqrhyeaqjf2@macbook-pro-15-zbiru.local> <97ad13b9-95bf-4c61-8a1b-59c7c57e8499@s31g2000yqs.googlegroups.com> <op.u2oi93ceeaqjf2@macbook-pro-15-zbiru.local> NNTP-Posting-Host: 83.10.62.184 Mime-Version: 1.0 X-Trace: posting.google.com 1257018849 4499 127.0.0.1 (31 Oct 2009 19:54:09 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sat, 31 Oct 2009 19:54:09 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: 37g2000yqm.googlegroups.com; posting-host=83.10.62.184; posting-account=rLTIYAoAAAAC0UY184o3dcMgnRpikGCw User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.27 Safari/532.0,gzip(gfe),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit