🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Interpretowany czy kompilowany?

#28055
From: jacek2v
Date: Sat, 21 May 2011 12:47
84 lines
5824 bytes
On 20 Maj, 10:24, "Stachu 'Dozzie' K."
<doz...@go.eat.some.screws.spammer.invalid> wrote:
> Oczywiście że nie mówią. Mówią o statyczności typowania, bo o tym
> dyskutujemy w tej gałęzi. Nadal nie rozumiem co ma do rzeczy "silność"
> systemu typów.

Wydawało mi się, że cały czas o tym mówisz - o wyższości języka z
typowaniem, czyli o jego "sile" . Ale możliwe, że Cię źle
zrozumiałem :)

> >> > 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ć).
> > Nigdy i tak musisz uruchomić,
>
> Parse error.

Mhh, a ja zawsze myślałem, że programy się pisze by je uruchamiać. No
cóż, ale istnieje też trend zwany "sztuka dla sztuki" :)

> Nikt ci nie zabrania uruchamiać aplikacji do woli. Etap weryfikacji
> typów podczas kompilacji to po prostu dodatkowe sprawdzenie, które
> dochodzi ci praktycznie za darmo.

Nie za darmo. Trzeba wszędzie pisać explicite typ, a to sporo kodu
więcej.

> > Mi. do tego dążą metodyki agile. Przeładowywanie serwera nie jest
> > konieczne - automat. Skopiowanie na serwer - automat. Otwarcie
> > przeglądarki - automat po kliknięciu na link.
>
> A potem przeklikuj się ręcznie przez wszystkie formularze żeby sprawdzić
> ich poprawność. Albo napisz automat, który będzie automatyzować klikanie
> pól (uwaga na AJAX!). Ot, taki dodatkowy kłopot.

Kłopot?, ja uważam, że bez tego to bugów będzie jak "mrówków" :)
Niezależnie od języka programowania, testy trzeba pisać i wykonywać.
Automatyczne zwłaszcza w większych aplikacjach lub o wyższych
wymaganiach co do niezawodności/wydajności są wręcz niezbędne - czyli
tam gdzie jest większy budżet.
Sugerujesz, że oddajesz aplikację nawet jej nie przeklikawszy?

> A i tak mogą się prześlizgnąć błędy w rzadko używanych formularzach,
> o których nikt nie pamięta i co do których nikt nie pomyślał żeby
> napisać testy. A automat (kompilator) by po prostu sprawdził poprawność
> *wszędzie*.

Ale i tak kompilator nie wyłapie znacznej większości błędów, a
świadomość, że trzeba testować jest lepsza niż życie w błędnym
przekonaniu, że coś samo się sprawdzi i będzie ok.

> >> Ekstrapolując twoje proponowane podejście "jeden ruch mniej", może
> >> darujmy sobie testowanie aplikacji? Kolejny ruch mniej.
> > Dziwna ekstrapolacja - poza zbiór dopuszczalnych wyników :)
>
> Właśnie. Do tego prowadzi twój pomysł z opuszczaniem kolejnych kroków
> budowania softu: do opuszczenia zbioru dopuszczalnych wyników.

To był Twój pomysł, aby nie testować - nie dokręcaj kota ogonem :)

> >> Ano nie pomoże. Ale statyczna kontrola typów by sporo ułatwiła.
> > Wydaje mi się, że przy zmiana framework raczej przeszkadza. Kiedyś
> > spotkałem się z podobnym przypadkiem w Pascalu. Typowanie wymagało
> > dużo "bezrozumnego" poprawiania kodu.
>
> Ale przynajmniej wiedziałeś gdzie się zmieniło API. Przy typowaniu
> dynamicznym nie masz tej informacji podczas kompilacji.

A jak zmienisz klasę na niższą lub wyższą w ścieżce dziedziczenia, to
też się zorientuje - zwłaszcza, że bardzo często używa się
rzutowania?

> Proponuję popisać w paru innych językach (np. w Javie), wtedy zobaczysz
> jaki jest wpływ samej składni na długość kodu. Bo większość operacji
> w przeciętnym kodzie źródłowym tłumaczy się wprost na inne języki,
> a idiomów używa się sporadycznie.

Pisałem w asseblerze x86, Pascalu, Javie, Clipperze, Visual Basicu,
trochę w :C, Perlu i jeszcze paru językach :) Jakoś tak wydaje mi się,
że mam pojęcie przekrojowe :)
Ostatniego Twojego zadanie nie zrozumiałem, sorry :)
Technical Details
Message-ID: <2f93f4ca-ccb1-42a5-b199-2d9902ee8629@l18g2000yql.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!plix.pl!newsfeed1.plix.pl!goblin2!goblin.stu.neva.ru!feeder3.cambriumusenet.nl!feed.tweaknews.nl!193.201.147.78.MISMATCH!feeder.news-service.com!postnews.google.com!l18g2000yql.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> <e423ccad-b001-4931-8e98-68982533d79f@d15g2000yqn.googlegroups.com> <iqtsq9$j2e$4@solani.org> <4d8313d9-cc85-4065-b94d-c7433e6d51de@p6g2000vbn.googlegroups.com> <iqugpk$vbu$3@solani.org> <64a9b1f5-e71a-4b1e-b54b-029a032d6a17@x1g2000yqb.googlegroups.com> <ir58gg$me$1@speranza.aioe.org>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!plix.pl!newsfeed1.plix.pl!goblin2!goblin.stu.neva.ru!feeder3.cambriumusenet.nl!feed.tweaknews.nl!193.201.147.78.MISMATCH!feeder.news-service.com!postnews.google.com!l18g2000yql.googlegroups.com!not-for-mail
From: jacek2v <jacek2v@gmail.com>
Newsgroups: pl.comp.lang.python
Subject: Re: Interpretowany czy kompilowany?
Date: Sat, 21 May 2011 05:47:24 -0700 (PDT)
Organization: http://groups.google.com
Lines: 114
Message-ID: <2f93f4ca-ccb1-42a5-b199-2d9902ee8629@l18g2000yql.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> <e423ccad-b001-4931-8e98-68982533d79f@d15g2000yqn.googlegroups.com> <iqtsq9$j2e$4@solani.org> <4d8313d9-cc85-4065-b94d-c7433e6d51de@p6g2000vbn.googlegroups.com> <iqugpk$vbu$3@solani.org> <64a9b1f5-e71a-4b1e-b54b-029a032d6a17@x1g2000yqb.googlegroups.com> <ir58gg$me$1@speranza.aioe.org>
NNTP-Posting-Host: 87.205.203.88
Mime-Version: 1.0
X-Trace: posting.google.com 1305982044 14866 127.0.0.1 (21 May 2011 12:47:24 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Sat, 21 May 2011 12:47:24 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: l18g2000yql.googlegroups.com; posting-host=87.205.203.88; posting-account=eZNabgoAAAATP5GyCUr-uXZ_s7vjxVeX
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.68 Safari/534.24,gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit