🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Interpretowany czy kompilowany?

#28048
From: Stachu 'Dozzie' K.
Date: Tue, 17 May 2011 13:22
69 lines
4153 bytes
On 2011-05-17, Rob Wolfe <rw@smsnet.pl> wrote:
>> > 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.

Chodzi o coś zupełnie innego. Typowy błąd początkujących programistów:
branie implikacji za równoważność.

"Jeśli program jest dobry, to typy się zgadzają."
Odwracając implikację:
"Jeśli typy się nie zgadzają, to program nie jest dobry."

> 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!

Owszem, great. Kompilator odwalił za ciebie brudną robotę ze wstępnym
sprawdzeniem poprawności i wybronił cię przed koniecznością uruchamiania
programu tylko po to, żebyś znalazł hasz tam gdzie miała być krotka.

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

A kto ci tak nakłamał że jest nie do przyjęcia?

>> > 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?

30kloc, przy zmieniającym się frameworku o który projekt był oparty.
Wyszukiwanie miejsc gdzie trzeba poprawiać kod żeby był zgodny
z frameworkiem było bardzo uciążliwe, bo trzeba było po prawie każdej
poprawce uruchamiać aplikację ponownie.

> Ludzie czesto argumentuja, ze w przypadku duzych systemow z "legacy"
> kodem
> bez statycznego typowania, to tylko szalency by probowali cos robic.

Ludzie może i tak, ale ja niekoniecznie. Tylko nie lubię gdy ktoś
próbuje wmawiać publice że statyczne typowanie jest psu na budę, kiedy
widziałem że pomaga.

> Mam do czynienia z takim systemem  i napatrzylem sie dosc
> na cudowne mozliwosci statycznego typowania.

Please elaborate.

-- 
Secunia non olet.
Stanislaw Klekot
Technical Details
Message-ID: <iqtsq9$j2e$4@solani.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news-2.dfn.de!news.dfn.de!feeder.erje.net!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!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> <e423ccad-b001-4931-8e98-68982533d79f@d15g2000yqn.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news-2.dfn.de!news.dfn.de!feeder.erje.net!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid>
Newsgroups: pl.comp.lang.python
Subject: Re: Interpretowany czy kompilowany?
Date: Tue, 17 May 2011 13:22:17 +0000 (UTC)
Organization: solani.org
Lines: 69
Message-ID: <iqtsq9$j2e$4@solani.org>
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> <e423ccad-b001-4931-8e98-68982533d79f@d15g2000yqn.googlegroups.com>
Mime-Version: 1.0
X-Trace: solani.org 1305638537 19534 eJwFwQkBwEAIAzBLx1OgdmDgX8ISWEhMeiAch8vRTSdNxfUdehUfo2dq2ysFJo8skInz+wEIgxA2 (17 May 2011 13:22:17 GMT)
X-Complaints-To: abuse@news.solani.org
NNTP-Posting-Date: Tue, 17 May 2011 13:22:17 +0000 (UTC)
User-Agent: slrn/pre0.9.9-111 (Linux)
X-User-ID: eJwFwYEBgEAIAsCVfBGycdJi/xG6I3S0V4kqmq55fasDC9lHxmRVZYa3GYtsHM0X80CM+QETTxCP
Cancel-Lock: sha1:ZQ/1GKdEiAsK+okGHR0dBBIBmxU=
X-NNTP-Posting-Host: eJwFwYEBwDAEBMCVBP90HCL2H6F3MB7ecIKOxfpAmz5fw/kObTT0sRRbmj6peG1XpiOLIj8TmhDK
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit