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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a270a1fc28d4f812 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-06-21 11:06:09 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!newspeer.monmouth.com!newscon02.news.prodigy.com!prodigy.com!newsmst01.news.prodigy.com!prodigy.com!postmaster.news.prodigy.com!newssvr11.news.prodigy.com.POSTED!not-for-mail From: "Pat Rogers" Newsgroups: comp.lang.ada References: <3d135676$0$8511$cc9e4d1f@news.dial.pipex.com> Subject: Re: OOD in Ada? X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Message-ID: NNTP-Posting-Host: 208.191.182.164 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr11.news.prodigy.com 1024680013 ST000 208.191.182.164 (Fri, 21 Jun 2002 13:20:13 EDT) NNTP-Posting-Date: Fri, 21 Jun 2002 13:20:13 EDT Organization: Prodigy Internet http://www.prodigy.com X-UserInfo1: OP]QRACE[BWMQ_H]]ZN@_TDAYZOZ@GXOXB_J]Q]KEYUNDQUCCNSUAACY@L[ZX__HGFD]JBJNSFXTOOGA_VWY^_HG@FW_HUTHOH]TBPGCO\P^PLP^@[GLHUK@WLECKFVL^TYG[@RMWQXIWM[SDDYWNLG_G[_BWUCHFY_Y@AS@Q[B\APPF@DCZM_PG_VSCPQZM Date: Fri, 21 Jun 2002 17:20:13 GMT Xref: archiver1.google.com comp.lang.ada:26572 Date: 2002-06-21T17:20:13+00:00 List-Id: "David Crocker" wrote in message news:3d135676$0$8511$cc9e4d1f@news.dial.pipex.com... > I know that Ada95 tries to support O-O development, but from my perspective >From my perspective it succeeds. > as an OO developer but Ada novice, it appears to me that any attempt to > implement a large OO design in Ada will run into the following problems: > > 1. The infamous "withing" problem (i.e. it is not possible to declare 2 > classes A and B, each in its own package, such that A has a method taking a > paremeter of type "access B", and B has a method with a parameter of type > "access A"); and I have not found that problem to be frequent. Others will tell about how to deal with it. > 2. The lack of a "dot" notation (or anything similar) for calling a member > method, making the code hard to read and hard to determine where dynamic > binding may be taking place. The distinguished receiver syntax (the "dot notation") in no way indicates whether or not dynamic dispatching occurs. In Eiffel and Java, for example, it happens all the time, and for C++ you have to look at the function definition to see whether or not it is marked virtual such that dynamic dispatch is even possible. Similarly, in CLOS you look for "generic" functions. -- Patrick Rogers Consulting and Training in: http://www.classwide.com Real-Time/OO Languages progers@classwide.com Hard Deadline Schedulability Analysis (281)648-3165 Software Fault Tolerance