comp.lang.ada
 help / color / mirror / Atom feed
From: "Steve" <nospam_steved94@comcast.net>
Subject: Re: Conditional compilation in Ada?
Date: Thu, 18 Nov 2004 04:09:20 GMT
Date: 2004-11-18T04:09:20+00:00	[thread overview]
Message-ID: <CfVmd.110500$R05.57670@attbi_s53> (raw)
In-Reply-To: xxOmd.1541$Tq6.592@newsread3.news.pas.earthlink.net

I disagree with your argument.

Dynamic dispatching is fairly efficient, and may simplify coding.
Dispatching generally means getting the address of a function from a vtab
rather than calling the function directly.

Using variant records means explicitly checking for the variant type and
taking different action based on the variant.  Creating a new variation of
the record means modifying the original record (modifying proven code is
never a good thing when it is easily avoided) and chasing each part of the
code that takes different action based on the variants.

Using objects means deriving a new object and overloading specific
operations for that object.  The base object isn't touched.

Also: If the object is declared statically, the dispatching may happen
statically.

Steve
(The Duck)


"Jeffrey Carter" <spam@spam.com> wrote in message
news:xxOmd.1541$Tq6.592@newsread3.news.pas.earthlink.net...
> Steve wrote:
>
> > Without knowing more details, this sounds like a good place to use
> > OOP.
> >
> > Instead of directly manipulating the data structure, use procedures
> > to manipulate the data structure, and dispatch to the appropriate
> > instance type for your target.
>
> I would disagree. Using OOP and dispatching means that the decision
> making is dynamic and occurs at run time. Using variant records and case
> statements allows everything to be static and determined at compile time.
>
> -- 
> Jeff Carter
> "I'm a kike, a yid, a heebie, a hook nose! I'm Kosher,
> Mum! I'm a Red Sea pedestrian, and proud of it!"
> Monty Python's Life of Brian
> 77
>





  reply	other threads:[~2004-11-18  4:09 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-16 18:30 Conditional compilation in Ada? jtg
2004-11-16 18:45 ` Marius Amado Alves
2004-11-16 20:41   ` Nick Roberts
2004-11-17  8:36     ` Alex R. Mosteo
2004-11-16 19:03 ` Jeffrey Carter
2004-11-16 19:13   ` Hyman Rosen
2004-11-16 19:41     ` Björn Lundin
2004-11-16 20:08     ` tmoran
2004-11-16 20:27       ` Hyman Rosen
2004-11-16 23:49         ` Jim Rogers
2004-11-16 20:43     ` Martin Dowie
2004-11-16 19:06 ` tmoran
2004-11-17  9:39   ` Adrien Plisson
2004-11-17 16:39     ` Jacob Sparre Andersen
2004-11-17  2:44 ` Steve
2004-11-17 20:30   ` Jeffrey Carter
2004-11-18  4:09     ` Steve [this message]
2004-11-18  6:49       ` Martin Dowie
2004-11-18 15:17         ` Georg Bauhaus
2004-11-18 19:12           ` Martin Dowie
2004-11-18 17:34         ` Jeffrey Carter
2004-11-18 17:44       ` Jeffrey Carter
2004-11-18 18:03         ` Alex R. Mosteo
2004-11-19  3:00           ` Steve
2004-11-19 21:35             ` Simon Wright
2004-11-20  2:56               ` Steve
2004-11-20 16:57                 ` Simon Wright
2004-11-17  9:28 ` Martin Krischik
2004-11-17 13:39   ` Stephen Leake
2004-11-17 10:02 ` Frank Piron
2004-11-17 12:32   ` Georg Bauhaus
2004-11-17 14:44     ` Dmitry A. Kazakov
2004-11-18 15:23       ` Georg Bauhaus
2004-11-18 22:10         ` Brian May
2004-11-19  9:03           ` Martin Krischik
2004-11-20 17:31             ` Georg Bauhaus
2004-11-21  9:14               ` Martin Krischik
2004-12-12  0:36               ` Lionel Draghi
2004-12-12  0:17             ` How to switch off those damm warnings about unknows pragma Lionel Draghi
2004-12-13 11:10               ` Georg Bauhaus
2004-12-13 15:07               ` Peter Amey
2004-11-20  1:05         ` Conditional compilation in Ada? Dr. Adrian Wrigley
2004-11-20 17:25           ` Georg Bauhaus
2004-11-23  1:15           ` Arthur Schwarz
2004-11-23 15:42             ` skidmarks
2004-11-17 12:27 ` Marin David Condic
  -- strict thread matches above, loose matches on Subject: below --
2004-11-19  9:13 Christoph Karl Walter Grein
replies disabled

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