From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,21960280f1d61e84 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!130.59.10.21.MISMATCH!kanaga.switch.ch!news-zh.switch.ch!switch.ch!news.ip-plus.net!newsfeed.ip-plus.net!news.post.ch!not-for-mail From: Martin Krischik Newsgroups: comp.lang.ada Subject: Re: GC in Ada Date: Thu, 08 Feb 2007 08:26:13 +0100 Organization: Swisscom IP+ (post doesn't reflect views of Swisscom) Message-ID: <45cad095$1@news.post.ch> References: <1169636785.504223.139630@j27g2000cwj.googlegroups.com> <45b8361a_5@news.bluewin.ch> <3pejpgfbki.fsf@hod.lan.m-e-leypold.de> <45c99c24$1@news.post.ch> <45c9bdb8$1@news.post.ch> NNTP-Posting-Host: 194.41.146.1 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: atlas.ip-plus.net 1170919576 27678 194.41.146.1 (8 Feb 2007 07:26:16 GMT) X-Complaints-To: abuse@ip-plus.net NNTP-Posting-Date: Thu, 8 Feb 2007 07:26:16 +0000 (UTC) User-Agent: Thunderbird 1.5.0.8 (Windows/20061025) In-Reply-To: X-Original-NNTP-Posting-Host: w01iwt.pnet.ch X-Original-Trace: 8 Feb 2007 08:26:13 +0200, w01iwt.pnet.ch Xref: g2news2.google.com comp.lang.ada:9122 Date: 2007-02-08T08:26:13+01:00 List-Id: Markus E Leypold schrieb: > Martin Krischik writes: >> Maciej Sobczak schrieb: >> On my Weblogic course I could not stop shaking my head about all the >> problems which brings the "all is pointer" concept of Java. > Fortunately you can ignore this "all is pointer" by exposing only a > read-only interface to the client and leaving the rest to the GC Only Java has no const keyword. It is supposed to get one but how long until it is actually used? > That > feels exactly like passing records around with in, out and in/out. I > don't see the problem. Not to doubt your experience on this, but just > because I'm curious: Can you provide a hint or example what the > problems are? I can give you the solution, which is not used all that widely because of the performance impact: class X { Date date = new Date; Date get_Date () { return new Date (date); } void set_Date (Date new_Date) { date = new Date (new_Date); } } Got it? If get_Date would just return date it would return a modifiable pointer - which could be used and - well - modified almost everywhere. As said the solution above is not used all that often and so the interesting part in the weblogic course was that the hard core java programmers had to learn that for remote call object those object might be copied behind the scenes and not passes by (non const) reference. And so to those objects modifications might be lost! This was the moment where a hole horror scenario unfolded to me: programmers which actually modified objects returned by a geta function instead of using the appropriate seta function! Martin