TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Reply To:
Fri, 27 Oct 2000 09:35:05 +0000
TEXT/PLAIN (59 lines)
For what it's worth - I agree with Frank and, to be honest, can't imagine why
you would ever want to make things any more complex by using DLLs etc. I would
guess that Frank's interspersed comments within the message below were pretty
much made up while he was reading the original message, as they are almost
identical to what I was thinking as I read it.

As far as reliability is concerned, I would certainly avoid the DLL method and
stay within Ada as much as possible.

> I am trying to decide between to different designs that will accomplish
> the same task.  And I was just wondering if it was possible (or even
> recommended) to do.
> Here's the situation via an example:
> - I wish to have a wrapper object that will manage a linked list of data.

Protected type around a list (any old list will do).
Booch probably already has a protected type queue.

> - I have an object that will need to call upong the Wrapper object's
> methods to insert, delete and manipulate data inside that linked list.


> - I have another object that will need to take the contents of the wrapper
> object's linked list and process them.

Task - sounds like it might overlap some with the task above.

> - Finally I have another object that will need to take the processed
> linked list and send it say to a serial port.


> In essense, I'm assuming I can do this be either declaring 3 dlls for each
> of those objects plus the dll for the wrapper object with the linked list
> making the methods open to the outside world.
> Or I can declare a bunch of Tasks that could potentially be a task for
> each of the jobs I need done on the linked lists and execute them
> asynchroneously in a controlled environment.
> Only 2 criteria for making this decision.
>    1. I would like the most speed possible.
>    2. The most reliable possible.
> Which method would you recommend?

Stay platform independent, less complex, easier to maintain, and more
Use the Ada tasking model and a protected type.
The tasks will be at least as fast, if not faster, than the DLLs.

My $.02.