🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #16721

Re: Groovy

#16721
From: Aleksander Galicki
Date: Sun, 06 May 2007 23:13
58 lines
4258 bytes
waldemar.kot@bea.com napisał(a): 

> Aleksander Galicki wrote:
> - Ale unit testy nie zastapia statycznego typowania. -
> 
> No w=B3a=B6nie to neguj=B1 zwolennicy dynamicznego typowania. Jak patrz=EA =
> na
> w miar=EA niereligijnie prowadzone dyskusje (np. No Fluff Just Stuff),
> to w=B3a=B6nie zwolennicy dynamicznego typowania upieraj=B1 si=EA, =BFe
> statyczne typowanie nie eliminuje b=B3=EAd=F3w (poza - jak twierdz=B1 -
> g=B3upimi, typu liter=F3wki, kt=F3re =B3atwo wyjd=B1 podczas pierwszego
> uruchomienia test=F3w lub programu) - a jedynie "zadowala" kompilator.
> B=B3=EAdy semantyczne pozostan=B1. I podkre=B6laj=B1 przy tym, =BFe nie ma =
> co
> nawet my=B6le=E6 o dynamicznym typowaniu, je=B6li nie ma si=EA nawyku
> pokrywania tworzonego kodu unit testami (przy tym podaj=B1 miary
> pokrycia na poziomie minimum 90%). Przyznam, =BFe mnie to przekonuje (a
> przynajmniej na razie - nie pope=B3ni=B3em jeszcze =BFadnej du=BFej aplikac=
> ji
> w takim j=EAzyku jak cho=E6by Groovy - st=B1d staram si=EA nie popada=E6 w
> skrajno=B6ci i s=B3ucha=E6 argument=F3w ka=BFdej ze stron). Z drugiej stron=
> y -
> to co stara=B3em si=EA przy okazji Grooviego podkre=B6li=E6 - =BFe mo=BFna =
> u=BFywa=E6
> zar=F3wno statycznego (np. String s =3D 'W') jak i dynamicznego typowania.
> Dynamiczne, te=BF w du=BFym stopniu polega na okre=B6laniu typu implicite
> (np. def i =3D 1.0f powoduje, =BFe zmienna i jest typu java.lang.Float).
> Ka=BFda zmienna ma typ i musz=B1 by=E6 zdefiniowane =B6cis=B3e regu=B3y kon=
> wersji
> mi=EAdzy typami - miejsca na magi=EA nie ma. Gdzie=B6 podczas przygl=B1dania
> si=EA Grooviemu napotka=B3em taki rule of thumb, =BFe je=B6li podczas
> tworzenia kodu "my=B6limy" o typie, to warto go zadeklarowa=E6, ale je=B6li
> my=B6limy po prostu o obiekcie, to mo=BFna zastosowa=E6 dynamiczne
> typowanie.
> 
> Co do interfejs=F3w - zgoda - ale jak si=EA przygl=B1dam implementacji
> generyk=F3w w Java 5 (cho=E6by w kontek=B6cie ich u=BFycia w interfejsach, =
> po
> to aby interfejs i jego implementacje by=B3y w miar=EA zwi=EAz=B3e), to w
> sumie i tak statyczne typowanie jest cz=EAsto tracone, bo np. generyczne
> kolekcje wewn=EAtrznie i tak korzystaj=B1 z Object.
> 

Wewnetrznie to na poziomie bajtkodu. Ten poziom nikogo nie interesuje (tak
samo jak nikogo nie interesuje ze typowanie jest tracone na poziomie komorek
pamieci). Typowanie to kwestia skladniowa i interesuje ludzi na poziomie
skladni wlasnie.
Nawiasem mowiac: laczenie unit testow z typizacja w jedna sprawe wiekszego
sensu nie ma. Unit testy sa rownie pomocne zarowno dla jezykow ze statyczna
typizacja jak i tych dynamicznych. Zauwaz, ze procz kwestii poprawnosci
istnieje tez kwestia czytelnosci, a z mojego doswiadczenia wynika ze latwa
dostepnosc statycznej informacji o typach pardzo pomaga czytelnosci.


A.

-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Technical Details
Message-ID: <f1lnfk$1tf$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <f170i0$5uk$1@inews.gazeta.pl> <1178227403.287154.200390@l77g2000hsb.googlegroups.com> <f1dsp0$sqg$1@inews.gazeta.pl> <1178282685.193292.74900@y5g2000hsa.googlegroups.com> <f1g7tk$2g1$1@inews.gazeta.pl> <1178314635.903067.318510@p77g2000hsh.googlegroups.com> <f1g9ra$9ov$1@inews.gazeta.pl> <1178323414.721252.49930@y5g2000hsa.googlegroups.com> <f1h626$2cn$1@inews.gazeta.pl> <1178369045.701778.37370@e65g2000hsc.googlegroups.com> <f1jgpf$rra$1@inews.gazeta.pl> <74kq33tqj7drfb8pq59sogveuuuddjflu6@4ax.com> <1178460667.001733.20730@h2g2000hsg.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Aleksander Galicki" <tretete@WYTNIJ.gazeta.pl>
Newsgroups: pl.comp.objects
Subject: Re: Groovy
Date: Sun, 6 May 2007 23:13:56 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 58
Message-ID: <f1lnfk$1tf$1@inews.gazeta.pl>
References: <f170i0$5uk$1@inews.gazeta.pl>   <1178227403.287154.200390@l77g2000hsb.googlegroups.com>   <f1dsp0$sqg$1@inews.gazeta.pl>   <1178282685.193292.74900@y5g2000hsa.googlegroups.com>   <f1g7tk$2g1$1@inews.gazeta.pl>   <1178314635.903067.318510@p77g2000hsh.googlegroups.com>   <f1g9ra$9ov$1@inews.gazeta.pl>   <1178323414.721252.49930@y5g2000hsa.googlegroups.com>   <f1h626$2cn$1@inews.gazeta.pl>   <1178369045.701778.37370@e65g2000hsc.googlegroups.com>   <f1jgpf$rra$1@inews.gazeta.pl>   <74kq33tqj7drfb8pq59sogveuuuddjflu6@4ax.com> <1178460667.001733.20730@h2g2000hsg.googlegroups.com>
NNTP-Posting-Host: 203.109.151.60
X-Trace: inews.gazeta.pl 1178493236 1967 172.20.26.238 (6 May 2007 23:13:56 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Sun, 6 May 2007 23:13:56 +0000 (UTC)
X-User: tretete
X-Forwarded-For: 172.20.6.161
X-Remote-IP: 203.109.151.60
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit