Posted By: Koles (www.jablok.cz) on 'CZprogram' Title: Re: garbage collectoryyyyyy Date: Fri Nov 12 15:03:17 2004 > 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?". 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. 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. 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 :-) > ... obecna poznamka - to, ze nekdo za me spravuje destrukci objektu (at uz > formou reference-countu ci garbage collectoru), je pomerne hodne uzitecna > vec, ktera navrh "programu" silne zjednodusuje. V okamziku, kdy napises, ze > na garbage collector v Jave (ci kdekoli jinde) se spolehat neda, a ze si > tuhle spravu musis defakto zajistovat sam, znamena to degradaci na uroven > strukturovaneho programovani. (trosku prehnane, ale doufam, ze myslenka je > zrejma) 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. Pavel