Posted By: Rat (prilis mnoho her) on 'CZprogram'
Title:     Re: garbage collectoryyyyyyy
Date:      Mon Nov 15 10:43:33 2004

 Zdar znovu ;),

> > pozadavku, ktery popisoval Quasimodo. Samozrejme, namitas, ze zde muzou
> byt 
> > cross reference, ja namitam, ze cross reference nejsou az tak caste,
> zvlaste
> > u pripadu, ktery Quasimodo popisoval. 
> 
> Ano, nejsou tak caste. Jenze v praktickem zivote radeji dam programatorum
> do ruky pravidlo "NIKDY nepouzivejte destructory pro dealokaci zdroju", 
> nezli "destruktory pro dealokaci zdroju pouzivat muzete, ale pozor na
> cross-reference". Bude to tak praktictejsi. I pri debugovani pak je snazsi
> si vybavit (a zodpovedet) otazku "uzaviras zdroje?" nez "nehrozi mi nekde
> cross-reference?".

 Na to, abys byl schopen zodpovedet otazku "uzaviras zdroje?" musis mit 
komplexni predstavu o veci, kterou pises. Coz je IMHO v nekterych pripadech 
nejen tezke, ale hlavne nechtene. Otazka "nehrozi mi nekde cross-reference" 
je defakto otazkou slusneho navrhu. Zalezi, za jak velke prasata pak ty 
programatory povazujes ;) 

> A v okamziku, kdy se i autori jazyka (resp. reseni GC) shodnou na tom,
> ze tento pristup je praktictejsi, tak pochopitelne daji tvemu a Quasimodovu
> pohledu na vec nizsi prioritu.

 No me v tomhle smeru napada, ze nejde o princip, jak by mel fungovat, ale 
implementace GC pri techto podminkach je mozna jednodussi.

> Jde mi ciste o ten dopad na realny vyvoj software. Tim, ze umoznim
> dealokaci zdroju v destruktoru, ziskam jen jakousi estetiku, jeji prinos
> bude dle meho prevazen rizikem zaneseni tezko odhalitelnych chyb.

 Zacatek viz vyse - realny vyvoj SW by mel (je recht, ze ta praxe je dycky 
jinak) probihat tak, ze se navrhne nejaky zaklad a pak prijde 3rd-party a 
zacne nejakym zpusobem SW ovlivnovat, pochopitelne bez modifikace originalu. 
Kdyz predas te 3rd party veci nejaky zdroj, prestavas byt (jedinym) panem jeho 
zivotniho cyklu - jak muzes pak vedet, kdy jej muzes uzavrit?? 

> Je to vec vkusu a pristupu, mluvim za sebe a myslim, ze i za filosofii
> jazyka Java, ale za objektivni pravdu to pochopitelne prohlasit nemohu :-)

 To byva dycky, otazka toho, s cim se kdo potkal, proto se ted poprve snazim 
byt dost konkretni ;) 

> Nemohu rict, ze se na GC v Jave spolehat neda. Pouze se neda spolehat
> na to, ze k ruseni objektu dojde tehdy, kdy bych si pral - v tom citim
> preci jen jisty rozdil.
> 
> A myslim, ze praxe ukazuje, ze to s tou degradaci tak zle neni.
> Jak uz jsem napsal, je o to reseni rozporu mezi idealem a pragmatickou
> snahou znesnadnit programatorovi dopoustet se obtizne odhalitelnych chyb.

 ... jaks psal vyse, asi dost otazkou nazoru...

for jerryiii: s tou pameti - coz pro typicky objektovy jazyk plati - temer 
vyjimecne alokujes nejake velke flaky pameti. Navic, i kdyz jsou velke, tak je 
zase nekdy pozdeji pouzijes ;) Zalezi hodne na konkretni implementaci, ale dle 
mych zkusenosti jsou v praktickych pripadech velmi uspesne... 

> Pavel

        Krysa
                rat@atrey.karlin.mff.cuni.cz              Jsem Krysa
                http://atrey.karlin.mff.cuni.cz/~rat/

Search the boards