🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Interpretowany czy kompilowany?

#28050
From: Stachu 'Dozzie' K.
Date: Tue, 17 May 2011 19:03
71 lines
4789 bytes
On 2011-05-17, jacek2v <jacek2v@gmail.com> wrote:
>> 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."

> Bardziej poprawnie powinno być: jeśli typy się zgadzają to jest  duża
> szansa, że kompilator skompiluje :)

Bardziej poprawnie od którego? Bo jakoś nie widać do czego pijesz.

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

> A co to za różnica, że uruchomię zamiast skompiluję? Jeden "ruch"
> mniej :)

1. Uruchomienie może być bardziej kłopotliwe niż sam proces budowania
   (dla webaplikacji to może być skopiowanie na serwer testowy,
   przeładowanie serwera, otwarcie przeglądarki i dokopanie się do
   ekranu którego kod chcesz sprawdzić).
2. Kompilacja, jako operacja wykonywana na kodzie źródłowym przez
   automat, jest dokładniejsza od kontrolnego uruchomienia aplikacji.
   Sprawdzisz za jednym zamachem wszystkie możliwe ścieżki wykonania
   w blokach kontrolnych?

Ekstrapolując twoje proponowane podejście "jeden ruch mniej", może
darujmy sobie testowanie aplikacji? Kolejny ruch mniej.

> Jak użyjesz stringów zamiast napisania/użycia klas to żadne typowanie
> nie obroni :)

Eeeee... że co?

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

> No tu problem leży gdzieś indziej - parafrazując klasyka: Puchatka :).
> Framework jak trochę nazwa sugeruje powinien być w miarę niezmienny bo
> wtedy i Święty Typ Najwyższy nie pomoże :)

Ano nie pomoże. Ale statyczna kontrola typów by sporo ułatwiła.

> A tak poza tym wątkiem to często się zapomina, że Python to nie tylko
> skryptowy język, ale język obdarzony niesamowicie zwięzłą, a
> jednocześnie czytelną składnią.

A co to ma do rzeczy? Mówimy o statycznym systemie typów, a nie o tym
czy składnia jest zwięzła. Zresztą zwięzłość składni nie ma specjalnego
wpływu na długość kodu w większych projektach.

> Polecam porównanie http://shootout.alioth.debian.org/.
> Krótszy i przez to łatwiejszy do ogarnięcia kod oznacza mniej
> czytania, mniej miejsc do popełnienia błędów itd.
> Szczerze mówiąc lubiłem Javę, ale nie podobało mi się w niej łatwe
> przekraczanie 80 znaków w linii :)

To nie wina języka, że programiści się nie mieszczą w 80 kolumnach,
tylko powszechnie przyjętych konwencji, prawie wymuszanych przez
bibliotekę standardową (bo weź używaj kontenerów bez tych konwencji).
A najbardziej programistów, bo w ogóle nie myślą o tym jak kod zmieścić
na 80 znakach (bo przecież od dawna mamy monitory panoramiczne).

-- 
Secunia non olet.
Stanislaw Klekot
Technical Details
Message-ID: <iqugpk$vbu$3@solani.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!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> <iqtsq9$j2e$4@solani.org> <4d8313d9-cc85-4065-b94d-c7433e6d51de@p6g2000vbn.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!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 19:03:16 +0000 (UTC)
Organization: solani.org
Lines: 71
Message-ID: <iqugpk$vbu$3@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> <iqtsq9$j2e$4@solani.org> <4d8313d9-cc85-4065-b94d-c7433e6d51de@p6g2000vbn.googlegroups.com>
Mime-Version: 1.0
X-Trace: solani.org 1305658996 32126 eJwFwQkBwDAIA0BLhfKscoAE/xJ25zckJi08zNe3McGdcQWB8/WTW4l6ZjyTwtImSkBTgesPSpoSbA== (17 May 2011 19:03:16 GMT)
X-Complaints-To: abuse@news.solani.org
NNTP-Posting-Date: Tue, 17 May 2011 19:03:16 +0000 (UTC)
User-Agent: slrn/pre0.9.9-111 (Linux)
X-User-ID: eJwFwYcBwDAIA7CXGMYk57SM/0+IFE5lJRhEbOyqaa2duftXF/IWCbC9TOZEu4hPoD83EeQDJIcQyA==
Cancel-Lock: sha1:v5x1zN3bCVP2E21Uk+Fc3KBfR/Y=
X-NNTP-Posting-Host: eJwNyscBwDAIBLCVwOEo41DM/iM4egufsraJQgWLLRNfIBCVd3wjKKUug/4TMVboPAxtmpHjDxuSEOk=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit