🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: python vs php - potrzebne argumenty

#26758
From: Jaroslaw Zabiello
Date: Sat, 31 Oct 2009 19:33
69 lines
4008 bytes
Dnia 31-10-2009 o 12:08:38 pakalk <pakalk@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?

To, że to wygląda jak kupa to jedno. To, że nie można polegać na systemie  
wyjątków w PHP - to drugie.

Nie wiem dlaczego, wraz z wyjściem PHP5 nie dodali wyjątków do tych swoich  
pokracznie nazwanych funkcji standardowych. Przecież wsteczną  
kompatybilność mogliby zachować za pomocą jakiegoś switcha, który by je  
włączał, lub nie. Widocznie za skomplikowane dla tych "miszczów".

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.  
Stąd model obiektowy w PHP5 został napisany od podstaw!

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).

Wprowadzono do PHP zupełnie bezsensownie nieobiektowe konstrukcje w  
postaci metod statycznych, interfejsów czy głupi podział na prymitywy i  
obiekty. 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.

Moim zdaniem, ten język brnie w ślepy zaułek. 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, tracąc swój początgkowy  
atut jakim była prostota. Jest coraz wolniejszy w stosunku do innych  
języków dynamicznie typowanych.

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.

To prawda, że wciąż łatwiej znaleźć programistę PHP niż Ruby czy Pythona.  
Jednak w tym wypadku ilość nie oznacza jakości.

-- 
JZ http://blog.zabiello.com
Technical Details
Message-ID: <op.u2oi93ceeaqjf2@macbook-pro-15-zbiru.local>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
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>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
From: "Jaroslaw Zabiello" <usenet@onet.eu>
Newsgroups: pl.comp.lang.python
Subject: Re: python vs php - potrzebne argumenty
Date: Sat, 31 Oct 2009 19:33:29 -0000
Organization: http://onet.pl
Lines: 122
Message-ID: <op.u2oi93ceeaqjf2@macbook-pro-15-zbiru.local>
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>
NNTP-Posting-Host: 78.16.214.205
Mime-Version: 1.0
X-Trace: news.onet.pl 1257017615 7283 78.16.214.205 (31 Oct 2009 19:33:35 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Sat, 31 Oct 2009 19:33:35 +0000 (UTC)
To: pakalk <pakalk@gmail.com>
User-Agent: Opera Mail/10.01 (MacIntel)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit