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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,900edaa189af2033 X-Google-Attributes: gid103376,public From: eachus@spectre.mitre.org (Robert I. Eachus) Subject: Re: Ada95 OOP Questions Date: 1996/08/06 Message-ID: #1/1 X-Deja-AN: 172345457 references: <4u4ln3$fur@mailsrv2.erno.de> organization: The Mitre Corp., Bedford, MA. newsgroups: comp.lang.ada Date: 1996-08-06T00:00:00+00:00 List-Id: In article <4u4ln3$fur@mailsrv2.erno.de> Thomas.Kendelbacher@erno.de (Thomas Kendelbacher) writes: > If the introduction of dispatching calls leads people to produce > less maintainable code, then this is a *bad* *thing*. (By the way, > I don't think it's confusing that the qualifier is the spec where > the type is defined; rather, it's a good starting point to narrow > down the search for the real code. Using use here leaves you with > no clue at all! And this "confusing" point is not peculiar to > dispatching calls: it occurs with Ada 83 derived types as > well. Not new, although the "search direction" is reversed in that > case.) Here, here! Fortunately, it is possible to write large portions of systems in Ada 95 without using dynamic dispatching. I am a strong advocate of the added support for polymorphism in Ada 95, but I also understand that in real systems you want to restrict the use of 'CLASS to very well defined parts of the system. Often these portions are the high level glue which ties the system together, and some are very low level routines where redispatching must be done carefully. (Is 'CLASS more or less of a "here be dragons" flag than "with System" or "with Unchecked_Conversion"? Don't know, but I'll look for all of them, as well as "with Starlet", and "with Unchecked_Deallocation.") -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...