Article View: pl.comp.objects
Article #4967Re: Glos na temat Javy
From: Andrzej Lewandowski
Date: Thu, 18 Feb 1999 05:03
Date: Thu, 18 Feb 1999 05:03
47 lines
3600 bytes
3600 bytes
On Thu, 18 Feb 1999 04:02:14 +0100, Michal Mosiewicz <mimo@interdata.com.pl> wrote: >Andrzej Lewandowski wrote: >> [...] >> Panowie! Od lat uzywam Smalltaka, ktory jak wiadomo ma odsmiecacz. >> Zapewniam Panow, ze problemy z pamiecia jakie sie ma w C++ to "maly >> szczenok" w porownaniu z problemami z pamiecia w jezyku z >> odsmiecaczem. Poszukiwanie "memory leaks" to nasze glowne zajecie. > >Zgadzam się - też parę razy zdarzyło mi się mieć taki problem, >zwalnianie pamięci to jedno, a pamiętanie o tym, żeby każdemu obiektowi >powiedzieć papa to druga sprawa. Niemniej jednak języki bezodśmiecaczowe >oprócz klasy problemów związanej z zapominaniem o pozbywaniu się >zużytych obiektów rodzą pewne dodatkowe problemy związane z zasięgiem >obiektów i kwestiami typu "ja przydzielam czy on przydziela?", "a może >sobie zrobić kopię tego obiektu na boku, bo tamten to mi może go >usunąć". I oprócz błędów klasy "trzeba program zrestartować bo już za >dużo zeżarł" pojawiają się problemy typu "programu nie trzeba >restartować, bo umarł sam z GPF-em" :-) > >Jestem zdania, że w C++ ma się te same problemy i jeszcze trochę. > Niechetnie raczej zamienilbym Smalltalk na C++. Rzeczywiscie, problemy C++ sa troche bardziej skomplikowane. Tym niemniej, Java i Smalltalk posiadaja pulapki. Wsrod Smalltalkowcow panowal poglad ze "Smalltalk nie potrzebuje destruktorow, bo ma odsmiecacz i wlasnie za to go tak bardzo kochamy". Okazalo sie ze niezupelnie tak. Mimo ze "oficjalnie" destruktora jako takiego nie ma, to trzeba go sobie jednak zrobic aby "zdemontowac" wszystkie referencje ktore musza byc zdemontowane. jak sie nie uwaza to moga byc klopoty. Mialem do czynienia z dosyc droga, "profesjonalna" aplikacja ktora gubila pamiec w tempie 2 MB na godzine. Ale rzeczywiscie, generalnie wole jezyki z odsmiecaczem. Tyle ze... Znow narzekanie... Wyobrazmy sobie ze Java (nikt normalny na umusle nie uzyl by do tego Smalltalka) steruje samolotem. Samolot wlasnie podchodzi do ladaowania, mnostwo danych lata w te i wewte, a w pewnym momencie odsmiecacz mowi: "zaraz, zaraz Panowie, nie ma pospiechu, ja musze troche posprzatac". Niestety, wada w zasadzie wszystkich jezykow z odsmiecaczami jest ze ich dzialanie jest przypadkowe i nie mozna ich powstrzymac od tej zboznej dzialalnosci wtedy gdy to jest naprawde niepotrzebne. To jest wlasnie jedna z przyczyn dla ktorych Java nie bardzo sie nadaje do real-time. A.L.
Technical Details
Message-ID:
<36cb9cc8.13664688@news-s01.ny.us.ibm.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!news.wnaft.agh.edu.pl!news.memax.krakow.pl!news.astercity.net!news.icm.edu.pl!fu-berlin.de!news-peer.gip.net!news.gsl.net!gip.net!newsfeed2.us.ibm.net!ibm.net!news1.us.ibm.net!32.100.104.129References:
<0328a2336221129CIERNIK@ciernik.onet.pl> <36CB564A.2B570613@interdata.com.pl> <36cb685d.245132@news-s01.ny.us.ibm.net> <36CB82B6.87B83E9E@interdata.com.pl>Show Full Headers
Complete Article Headers
From: lewando@ibm.net (Andrzej Lewandowski) Newsgroups: pl.comp.objects Subject: Re: Glos na temat Javy Date: Thu, 18 Feb 1999 05:03:57 GMT Message-ID: <36cb9cc8.13664688@news-s01.ny.us.ibm.net> References: <0328a2336221129CIERNIK@ciernik.onet.pl> <36CB564A.2B570613@interdata.com.pl> <36cb685d.245132@news-s01.ny.us.ibm.net> <36CB82B6.87B83E9E@interdata.com.pl> X-Newsreader: Forte Free Agent 1.11/32.235 NNTP-Posting-Host: 32.100.104.129 X-Trace: 18 Feb 1999 04:02:59 GMT, 32.100.104.129 Organization: IBM Global Services - Remote Access Mail & News Services Lines: 48 X-Notice: Items posted that violate the IBM.NET Acceptable Use Policy X-Notice: should be reported to postmaster@ibm.net X-Complaints-To: postmaster@ibm.net Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!news.wnaft.agh.edu.pl!news.memax.krakow.pl!news.astercity.net!news.icm.edu.pl!fu-berlin.de!news-peer.gip.net!news.gsl.net!gip.net!newsfeed2.us.ibm.net!ibm.net!news1.us.ibm.net!32.100.104.129 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit