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=-0.5 required=5.0 tests=BAYES_00,INVALID_MSGID, PP_MIME_FAKE_ASCII_TEXT autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,3ccb707f4c91a5f2 X-Google-Attributes: gid103376,public From: jsa@alexandria (Jon S Anthony) Subject: Re: Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation) Date: 1996/10/16 Message-ID: #1/1 X-Deja-AN: 189922268 sender: news@organon.com (news) references: <325BC3B3.41C6@hso.link.com> organization: Organon Motives, Inc. newsgroups: comp.lang.ada Date: 1996-10-16T00:00:00+00:00 List-Id: In article kst@thomsoft.com (Keith Thompson) writes: > In jsa@alexandria (Jon S Anthony) writes: > [...] > > But *languages* don't have GC. Implementations of them do. Even > > Meyer says little about GC in ETL - just that all *implementations* > > are *expected* to have it. > > That's not *quite* correct. It's admittedly difficult to define > garbage collection in a formal language definition, but the Java > definition at least attempts to do so. Here's paragraph 20.16.9 > of The Java Language Specification, version 1.0 (available at > ). > > 20.16.9 public void gc() > > Calling this method suggests that the Java Virtual Machine expend > effort toward recycling discarded objects in order to make the > memory they currently occupy available for quick reuse. When > control returns from the method call, the Java Virtual Machine > has made a best effort to recycle all discarded objects. (The > name gc stands for "garbage collector.") > > The Java runtime system will perform this recycling process > automatically as needed, in a separate thread, if the gc method > is not invoked explicitly. > > See also the method gc (�20.18.12) of class System, which is > the conventional and convenient means of invoking this method. > > This does refer to the "Java Virtual Machine", but I don't think there's > any requirement that the JVM be implemented via the usual byte code > interpreter. But the point is that it is talking about the JVM, _not_ JTL. The JVM is about a particular implementation. Moreover, "suggests", "expend effort toward", "made a best effort", etc. sounds a lot like "expected to have". > Even for a Java compiler that generates machine code directly, the > runtime system has to provide a JVM implementation as specified in > the language specification. I think. Where is this stated? Even if true, I don't see the relevance. /Jon -- Jon Anthony Organon Motives, Inc. Belmont, MA 02178 617.484.3383 jsa@organon.com