comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: T'Interface attribute
Date: Fri, 4 Aug 2017 19:09:17 -0500
Date: 2017-08-04T19:09:17-05:00	[thread overview]
Message-ID: <om32be$eq3$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: f647e80e-7171-47be-83f2-f68eb68cb2f2@googlegroups.com

"Eryndlia Mavourneen" <eryndlia@gmail.com> wrote in message 
news:f647e80e-7171-47be-83f2-f68eb68cb2f2@googlegroups.com...
On Wednesday, August 2, 2017 at 11:46:56 PM UTC-5, Randy Brukardt wrote:
...
> P.P.S. I personally have never seen a real-world example where an 
> interface
> actually helps. There's lots and lots of book examples and show examples 
> and
> so on, but in practice you end up with only a single implementation so 
> there
> really is nothing gained by involving a lot of dispatching calls. Ergo, 
> I'm
> against anything (new) involving interfaces. YMMV.
>
>I use task interfaces in the case in which I have a basic task design that 
>has
>certain core functionality and additionally may have any of a variety of 
>other
>functionalities, too.  At the point at which I am ready to consolidate the
>interfaces into a specific kind of task, combining the interfaces, which 
>already
>have declared the necessary entries (as procedures), becomes akin to 
>building
>using Legos.

This is the sort of thing that doesn't make a lot of sense to me. Interfaces 
are only useful if there are going to be multiple implementations of them. 
Otherwise, they just add unspeakable runtime overhead and you're getting 
nothing for them. Specifically, you have to be able to have useful routines 
made up of only dispatching calls. When I tried that in the Claw Builder, it 
turned into a maintenance nightmare - any significant change required a 
change to every specific type. And adding a new specific type took multiple 
days (there being so many routines to implement). It just doesn't fit with 
the agile-style programming that I do.

>I find this kind of construction most pleasurable to design and implement. 
>It also
>is easy to understand.

Obviously, YMMV. Just don't expect me to push for anything involving 
interfaces.

                        Randy. 


  reply	other threads:[~2017-08-05  0:09 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-02 13:43 T'Interface attribute Dmitry A. Kazakov
2017-08-02 14:23 ` Eryndlia Mavourneen
2017-08-03 12:52   ` Dmitry A. Kazakov
2017-08-03  4:46 ` Randy Brukardt
2017-08-03  7:26   ` Dmitry A. Kazakov
2017-08-04 23:51     ` Randy Brukardt
2017-08-05  7:49       ` Dmitry A. Kazakov
2017-08-07 22:59         ` Randy Brukardt
2017-08-08  6:13           ` Dmitry A. Kazakov
2017-08-09  0:38             ` Randy Brukardt
2017-08-09  7:06               ` Dmitry A. Kazakov
2017-08-09 23:03                 ` Randy Brukardt
2017-08-10  7:13                   ` Dmitry A. Kazakov
2017-08-11  0:33                     ` Randy Brukardt
2017-08-11  6:55                       ` Dmitry A. Kazakov
2017-08-11 20:49                         ` Randy Brukardt
2017-08-03 17:27   ` Eryndlia Mavourneen
2017-08-05  0:09     ` Randy Brukardt [this message]
2017-08-05 19:02       ` Eryndlia Mavourneen
2017-08-07 22:49         ` Randy Brukardt
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox