Article View: pl.comp.lang.python
Article #26758Re: python vs php - potrzebne argumenty
From: Jaroslaw Zabiello
Date: Sat, 31 Oct 2009 19:33
Date: Sat, 31 Oct 2009 19:33
69 lines
4008 bytes
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-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>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