Article View: pl.comp.lang.python
Article #28041Re: Interpretowany czy kompilowany?
From: Rob Wolfe
Date: Mon, 16 May 2011 13:49
Date: Mon, 16 May 2011 13:49
49 lines
2980 bytes
2980 bytes
On 16 Maj, 09:34, zbro...@tlen.pl wrote: > On 15.05.2011 19:23, Rob Wolfe wrote: > > > Jacek Czerwinski<x...@y.z.pl> writes: > >> Dynamiczne typowanie na pewno jest wygodne (i to bardzo) na etapie > >> pierwszego' pisania, ale refactoringu to horror. > > > Usunięcie błędów kompilacji nie dowodzi niczego. Ogarnięcie kodu > > w sensie zrozumienia meritum w językach statycznie typowanych bywa > > strasznie trudne z powodu niesamowitego rozdęcia (częsty przypadek w > > Javie). > > Masz rację i nie masz ;) > Oczywiście brak błędów kompilacji w żaden sposób nie dowodzi że kod > jesgt poprawny. Otoz to. > Niemniej przy dużym refaktoringu pozwala wyłapać > oczywiste błędy. Jeśli kompilator krzyczy że jest niezgodność typów to > nie ma bata, coś musi być spieprzone. Oczywiste bledy w Pythonie mozna wylapac rownie latwo. > W pythonie wszystko pozornie zabangla bardzo ładnie, tylko czasami > będziemy się dowiadywać, że "list object has no attribute keys" lub coś > podobnego ;) 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 > > Bardzo lubię pythona za łatwość w pisaniu kodu, ale czasami przydałaby > się możliwość właczenia sztywniejszej kontroli kodu. (W erlangu jest coś > podobnego, choć osobiście z tego nie jeszcze korzystałem). Statyczna analiza, ogarniecie tematu oraz testy, testy, testy... to jest doskonale polaczenie. Chyba ze dwa pokolenia programistow musza wyginac, aby przestala obowiazywac zlota zasada: "it compiles, ship it!". ;) RW
Technical Details
Message-ID:
<0601cb5b-befa-46ba-9d1c-f105c81369fe@r35g2000prj.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!r35g2000prj.googlegroups.com!not-for-mailReferences:
<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>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!r35g2000prj.googlegroups.com!not-for-mail From: Rob Wolfe <rw@smsnet.pl> Newsgroups: pl.comp.lang.python Subject: Re: Interpretowany czy kompilowany? Date: Mon, 16 May 2011 06:49:46 -0700 (PDT) Organization: http://groups.google.com Lines: 56 Message-ID: <0601cb5b-befa-46ba-9d1c-f105c81369fe@r35g2000prj.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> NNTP-Posting-Host: 78.133.233.211 Mime-Version: 1.0 X-Trace: posting.google.com 1305553787 17894 127.0.0.1 (16 May 2011 13:49:47 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 16 May 2011 13:49:47 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: r35g2000prj.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