Article View: pl.comp.lang.python
Article #28048Re: Interpretowany czy kompilowany?
From: Stachu 'Dozzie' K.
Date: Tue, 17 May 2011 13:22
Date: Tue, 17 May 2011 13:22
69 lines
4153 bytes
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-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> <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