🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: python vs php - potrzebne argumenty

#26792
From: pakalk
Date: Mon, 02 Nov 2009 16:47
109 lines
5839 bytes
On Nov 2, 9:51 am, "Jaroslaw Zabiello" <use...@onet.eu> wrote:
>
> > 2. Potem nie trzeba testować jaki wyjątek nam wyskoczył? Ciekawe.
>
> Prawda? Możesz wszystkie wyjątki do kup wyłapać w wyższej warstwie bez  
> wnikania w ich rodzaj.

I ciekawe jak grupowo obslugujesz kilka roznych wyjatkow. Bardzo
ciekawe. Chyba zapisujac to tylko do loga.

>
> > Pisze o sytuacji, gdy nie zostanie przechwycony
>
> Tak jest możliwe tylko w PHP bo ma dziurawy system wyjątków. W Pythonie (i  
> reszcie normalnych języków) można przechwycić *wszelkie wyjątki*.

Mozna ale nie trzeba. Ify tez mozna wszedzie wsadzic.

>
> I ty mówisz że znasz PHP?

Tak, znam.

No powiedz mi co pozmieniali? Tzn. o co konkretnie Ci chodzi.

>
> > Twórcy UML-a też pewnie jedzą. Czemu o nich nic nie piszesz? ;>
>
> Bo już dostałeś na to odpowiedź. UML nie ma tu nic do rzeczy.

Jasne. Model obiektowy i jego wlasnosci ustalaja bywalcy tej grupy
dyskusyjnej.


>
> > Wystarczy spojrzeć na UML
>
> j.w.

j.w.

>
> > Ale metody statyczne/klasowe sa - co z tego, ze inaczej je nazwiemy?
>
> Singleton to nie jest metoda statyczna. Nawet w Javie singleton nie jest  
> metodą statyczną. Mylisz pojęcia.

Jakie znaczenie ma sposob realizacji funkcji metody statycznej?

>
> >> > 1. Metoda klasowa (np. w pythonie) == metoda statyczna (w np. Javie)
>
> >> Nie. Klasa w Pythonie jest obiektem a metoda klasowa jest jej  
> >> singletonem.
>
> > Mowie o zachowaniu a nie jego realzacji. I sie tak zachowuje.
>
> Właśnie że tak się *nie* zachowuje. Metodę klasową przeciążysz, statyczną  
> już nie. Spróbuj jak nie wierzysz.

W javie nie ma np. dzidziczenia wielokrotnego, co nie znaczy, ze nie
ma dziedziczenia.
W PHP przeciazysz metody statyczne. Nie wierzysz? Sprawdz.

Tak wiem.. zaraz mi napiszesz, ze lipne to - ale to nie jest cecha
metod statycznych. One wykonywane sa w kontekscie klasy - znaczy sa
klasowe. Tak sie nazywaja w UML, a on bazuje na Javie i zapewniam -
metoda klasowa zamodelowana w UML bedzie zrealizowana jako statyczna w
Javie.

Jesli chodzi o realizacje (w pythonie, jak rozumiem, klasa to de facto
instancja klasy klasy, wiec odpalenie metody klasowej odpala ja w
kontekscie obiektu klasy - jesli nie to musze doczytac) to nie jest to
wazne na poziomie abstrakcji. Klopot w tym, ze kazdy jezyk chce byc
trendy i wprowadza udziwnione nazwy (vide Scala), uzywa nazw
alternatywnych (vide: funkcja, subroutine, def), modyfikuje wlasnosci
znanych juz elementow programowania albo uzywa nazw w innych
kontekscie (@staticmethod). Z tego powstaja potem spory jak ten - bo
to co sie nazywa tak w pythonie inaczej nazywa sie w javie a dziala
tez nieco inaczej, bo sam jezyk jest inny. Ale to jest raczej szczegol
(albo ogol?) implementacyjny, koncepcyjny dot. konkretnego jezyka i
jego mozliwosci a nie tego co robi metoda statyczna. Podazajac wstecz,
w historii, mozemy mowic o tym, ze zmienne statyczne to jeszcze cos
innego niz w javie...

>
> > Chcesz porozmawiac o kreacjonizmie? ;>
>
> Nie radzę, opiekuję się portalem creationism.org.pl ;)

..i biblia.apologetyka.com też, z tego co pamiętam ;)

Dlatego wlasnie to napisalem, odnosnie opierania sie na wierze ;)


>
> >> Klasy abstrakcyjne są do bani, bo nie można dziedziczyć po kilku  
> >> klasach   abstrakcyjnych. To duże ograniczenie.
>
> > To nie jest cecha klas abstrakcyjnych, tylko realizacji przez jezyk. W
> > Pythonie mozna chyba?
>
> W Pythonie nie ma przecież klas abstrakcyjnych. :)
>

Tak? A takie ABC to co jest?

Gdybym byl zlosliwy, tobym Cie sparafrazowal i napisal: "I Ty sie
znasz na pythonie?", ale nie napisze :P
Technical Details
Message-ID: <36b1e998-63ea-4bb3-a0fb-ca38004a1105@j4g2000yqe.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.cyf-kr.edu.pl!agh.edu.pl!news.agh.edu.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!feeder2.cambriumusenet.nl!feed.tweaknews.nl!postnews.google.com!j4g2000yqe.googlegroups.com!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> <op.u2oi93ceeaqjf2@macbook-pro-15-zbiru.local> <12b7fbaa-206c-4b39-8868-4e3b96eea704@37g2000yqm.googlegroups.com> <op.u2p83sqyeaqjf2@macbook-pro-15-zbiru.local> <c3247d6d-5199-4c45-9825-772387effd7b@f16g2000yqm.googlegroups.com> <op.u2quicq2eaqjf2@macbook-pro-15-zbiru.local> <0d2efb92-6837-425f-b45e-0d9a8575fc99@v36g2000yqv.googlegroups.com> <op.u2revzrfeaqjf2@macbook-pro-15-zbiru.local>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.cyf-kr.edu.pl!agh.edu.pl!news.agh.edu.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!feeder2.cambriumusenet.nl!feed.tweaknews.nl!postnews.google.com!j4g2000yqe.googlegroups.com!not-for-mail
From: pakalk <pakalk@gmail.com>
Newsgroups: pl.comp.lang.python
Subject: Re: python vs php - potrzebne argumenty
Date: Mon, 2 Nov 2009 08:47:52 -0800 (PST)
Organization: http://groups.google.com
Lines: 116
Message-ID: <36b1e998-63ea-4bb3-a0fb-ca38004a1105@j4g2000yqe.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> <12b7fbaa-206c-4b39-8868-4e3b96eea704@37g2000yqm.googlegroups.com>  <op.u2p83sqyeaqjf2@macbook-pro-15-zbiru.local> <c3247d6d-5199-4c45-9825-772387effd7b@f16g2000yqm.googlegroups.com>  <op.u2quicq2eaqjf2@macbook-pro-15-zbiru.local> <0d2efb92-6837-425f-b45e-0d9a8575fc99@v36g2000yqv.googlegroups.com>  <op.u2revzrfeaqjf2@macbook-pro-15-zbiru.local>
NNTP-Posting-Host: 83.4.171.244
Mime-Version: 1.0
X-Trace: posting.google.com 1257180472 3467 127.0.0.1 (2 Nov 2009 16:47:52 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Mon, 2 Nov 2009 16:47:52 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: j4g2000yqe.googlegroups.com; posting-host=83.4.171.244;  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