🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Interpretowany czy kompilowany?

#28047
From: Rob Wolfe
Date: Tue, 17 May 2011 13:04
89 lines
4132 bytes
On 17 Maj, 09:35, "Stachu 'Dozzie' K."
<doz...@go.eat.some.screws.spammer.invalid> wrote:
> On 2011-05-16, Rob Wolfe <r...@smsnet.pl> wrote:
>
>
>
>
>
>
>
>
>
> > zbro...@tlen.pl writes:
>
> >> On 16.05.2011 15:49, Rob Wolfe wrote:
> >>> Nic podobnego. Tego typu proste bledy sa do wylapania uzywajac
> >>> statycznej analizy bez zadnego problemu.
>
> >>> $ cat test.py
> >>> lst = []
> >>> lst.keys()
> >>> $ pylint -E test.py
> >>> ************* Module test
> >>> E:  2: Instance of 'list' has no 'keys' member
>
> >> Takie też?
>
> >> def a(b):
> >>     print b.keys()
>
> >> x = []
> >> a(x)
>
> >> Tyle w temacie statycznej analizy.
>
> > Ok, mamy różne pojęcie o tym jaki błąd jest oczywisty. ;)
>
> A teraz sobie porównaj jak takie błędy się wychwytuje w Adzie, C++ albo
> w Javie.
>

Wiem jak w C++ i Javie. Juz pisalem w skrocie: "it compiles, shipt
it!".
Co z tego wynika, ze mi kompilator powie, ze typ sie zgadza?
Zupelnie nic. Czy nie jest czasem tak, ze operacje na tym typie
moga sie nie powiesc? Czy np. w przypadku polimorfizmu
moze zostac wywolana zupelnie inna metoda, niz sie spodziewales?
I milion innych rzeczy... No, ale sie skompilowalo! Great!

> > Tak, interfejsów statycznie nie da się sprawdzić w Pythonie.
> > Wspominałem też o testach, które by tu pasowały jak ulał.
> > Są też asercje. Można kontrolować interfejsy w runtime'ie itp.
>
> Można. Ale powinno to być wykonane podczas kompilacji -- bo się da.
>

Da sie kosztem, ktory imho jest kompletnie nie do przyjecia.

> > Chodzi mi o to, że w praktyce nie zauważyłem, aby statyczne
> > typy pomagały.
>
> A ile tego (języków ze statycznym typowaniem) używałeś i przy jak dużych
> projektach?
>

C++ i Javy, w projektach sporych mysle (ok 500 kloc).
Moge odwrocic pytanie. Jak duzy soft pisales w jezyku dynamicznie
typowanym
i jakim, aby twierdzic, ze sa do pisania duzych systemow gorsze?
Ludzie czesto argumentuja, ze w przypadku duzych systemow z "legacy"
kodem
bez statycznego typowania, to tylko szalency by probowali cos robic.
Mam do czynienia z takim systemem  i napatrzylem sie dosc
na cudowne mozliwosci statycznego typowania.
Nie zabieralbym glosu w tej sprawie, gdyby nie to ze bralem udzial tez
w projektach czysto pythonowych (ostatnio ok 50 kloc) i nie tesknilem
ani przez moment za statycznym typowaniem.

> > Wręcz przeciwnie, muszę się narzeźbić jak debil,
> > aby zadowolić kompilator, a w podziękowaniu dostaję segmentation fault.
>
> Urban legend.

Ok, dyskusja zmierza w kierunku dobrze znanym. Oba obozy sa mocno
okopane
i nic nie wskazuje, abym ja kogos przekonal albo ktos mnie.
Takze z mojej strony EOT.

RW
Technical Details
Message-ID: <e423ccad-b001-4931-8e98-68982533d79f@d15g2000yqn.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!d15g2000yqn.googlegroups.com!not-for-mail
References: <iqmlha$r29$1@news.onet.pl> <4dcee603$1$2437$65785112@news.neostrada.pl> <iqo0j1$g9u$1@news.onet.pl> <87boz3anea.fsf@smsnet.pl> <iqqk2o$oh7$1@news.onet.pl> <0601cb5b-befa-46ba-9d1c-f105c81369fe@r35g2000prj.googlegroups.com> <iqrlte$rfe$1@news.onet.pl> <87k4dqe6vw.fsf@smsnet.pl> <iqt8gb$lo1$1@solani.org>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!d15g2000yqn.googlegroups.com!not-for-mail
From: Rob Wolfe <rw@smsnet.pl>
Newsgroups: pl.comp.lang.python
Subject: Re: Interpretowany czy kompilowany?
Date: Tue, 17 May 2011 06:04:22 -0700 (PDT)
Organization: http://groups.google.com
Lines: 93
Message-ID: <e423ccad-b001-4931-8e98-68982533d79f@d15g2000yqn.googlegroups.com>
References: <iqmlha$r29$1@news.onet.pl> <4dcee603$1$2437$65785112@news.neostrada.pl> <iqo0j1$g9u$1@news.onet.pl> <87boz3anea.fsf@smsnet.pl> <iqqk2o$oh7$1@news.onet.pl> <0601cb5b-befa-46ba-9d1c-f105c81369fe@r35g2000prj.googlegroups.com> <iqrlte$rfe$1@news.onet.pl> <87k4dqe6vw.fsf@smsnet.pl> <iqt8gb$lo1$1@solani.org>
NNTP-Posting-Host: 78.133.233.211
Mime-Version: 1.0
X-Trace: posting.google.com 1305637462 3385 127.0.0.1 (17 May 2011 13:04:22 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 17 May 2011 13:04:22 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: d15g2000yqn.googlegroups.com; posting-host=78.133.233.211; posting-account=Kl85yQoAAACAhtXaf_cPVYWRBT7UPb10
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.65 Safari/534.24,gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit