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,aea4cc77526f5e4a X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!news.glorb.com!newshub.sdsu.edu!newscon04.news.prodigy.net!prodigy.net!newsdst01.news.prodigy.net!prodigy.com!postmaster.news.prodigy.com!newssvr14.news.prodigy.net.POSTED!4988f22a!not-for-mail From: Newsgroups: comp.lang.ada References: <7xJvj.7420$Ru4.4246@newssvr19.news.prodigy.net> <5b9wj.4639$Mh2.1432@nlpi069.nbdc.sbc.com> <5Ekwj.10401$0o7.6822@newssvr13.news.prodigy.net> <%Ntwj.12620$Ch6.11402@newssvr11.news.prodigy.net> <62ic8uF230f4oU1@mid.individual.net> Subject: Re: Separate Compilation in Programming Languages X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.3138 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 Message-ID: NNTP-Posting-Host: 70.134.112.39 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr14.news.prodigy.net 1204038321 ST000 70.134.112.39 (Tue, 26 Feb 2008 10:05:21 EST) NNTP-Posting-Date: Tue, 26 Feb 2008 10:05:21 EST Organization: SBC http://yahoo.sbc.com X-UserInfo1: TSU[@SBEQJV]SQ@[EZOD]_\@VR]^@B@MCPWZKB]MPXHNDQUBLNTC@AWZWDXZXQ[K\FFSKCVM@F_N_DOBWVWG__LG@VVOIPLIGX\\BU_B@\P\PFX\B[APHTWAHDCKJF^NHD[YJAZMCY_CWG[SX\Y]^KC\HSZRWSWKGAY_PC[BQ[BXAS\F\\@DMTLFZFUE@\VL Date: Tue, 26 Feb 2008 15:05:21 GMT Xref: g2news1.google.com comp.lang.ada:20091 Date: 2008-02-26T15:05:21+00:00 List-Id: "Alex R. Mosteo" wrote in message news:62ic8uF230f4oU1@mid.individual.net... > > I'd go farther and say that proper OO programming practice stresses the > fact that clients must operate on interfaces, and not on particular > implementation classes. Yes, it takes discipline, but it is what is > expected. (Or what I would expect?) > The reality is that this practice is rare. Interfaces are not as abundant in Java programs as you might wish. > Still, having used both Java and Ada, I find true that Ada, by forcing > always the separation, helps in "indoctrinating" this into programmers. > Specifications in Ada are a blessing. Yes. Prior to the conversation in this thread, I was not as sure of that as I am now. It has become clear to me that the Ada model, based on the notion of compilation units, continues to be much better than the Java model where, in practice, dependency management on large-scale software systems can range from simply annoying to absolutely wrong. The argument from C++ programmers use to be, "We don't have such problems if we are careful ..." "... if we are good programmers ..." "... if we follow good practices ..." But the fact is that a language design needs to prevent "bad practices" and Ada tends to do that. When hundreds of messages appear on the Internet complaining about Java's dependency problems, this is an indication that the issue is not about programming practice, but about a deficiency in the design of the language. Richard Riehle