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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1116ece181be1aea X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-09-07 03:17:57 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!news-out.nuthinbutnews.com!propagator2-sterling!news-in-sterling.nuthinbutnews.com!cyclone1.gnilink.net!spamkiller2.gnilink.net!nwrdny01.gnilink.net.POSTED!53ab2750!not-for-mail From: Hyman Rosen User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5b) Gecko/20030901 Thunderbird/0.2 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Is the Writing on the Wall for Ada? References: <3F5AE863.35C9D08@sympatico.ca> In-Reply-To: <3F5AE863.35C9D08@sympatico.ca> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Date: Sun, 07 Sep 2003 10:17:56 GMT NNTP-Posting-Host: 162.84.176.54 X-Complaints-To: abuse@verizon.net X-Trace: nwrdny01.gnilink.net 1062929876 162.84.176.54 (Sun, 07 Sep 2003 06:17:56 EDT) NNTP-Posting-Date: Sun, 07 Sep 2003 06:17:56 EDT Xref: archiver1.google.com comp.lang.ada:42230 Date: 2003-09-07T10:17:56+00:00 List-Id: David Marceau wrote: > Interfaces are the way to separating the differences between versions of > components. That is a very interesting point of view. Oh wait, no it isn't. It's just a wrong point of view. The way interfaces are used in Java, and in C++ for that matter, is as a specification for the the methods supported by an object. It doesn't matter how this got that way, so we may as well assume that your little history lesson is true, since it's uninteresting regardless. Write an interface, and now you have a specification for how a component may be invoked, without any code implementing such a component. Write the code which conforms to the interface, and you're done. The compiler makes sure that if an interface is expected, it is supplied, and if it's to be implemented, nothing is missing. That's your separately compilable specification and implementation. What about this fails to work?