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-Thread: 103376,a9bbfb8cd49f1a51 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!news.glorb.com!news-xfer.cox.net!peer01.cox.net!cox.net!atl-c08.usenetserver.com!news.usenetserver.com!pc01.usenetserver.com!ALLTEL.NET-a2kHrUvQQWlmc!not-for-mail Date: Thu, 14 Jul 2005 13:06:30 -0500 From: "Marc A. Criley" User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Isn't this in favour of Ada?? References: <42d64dde$0$64794$edfadb0f@dread12.news.tele.dk> <1121352985.715265.125490@g49g2000cwa.googlegroups.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: X-Complaints-To: abuse@usenetserver.com Organization: UseNetServer.com X-Trace: c0e0e42d6a9a4a13cf27508969 Xref: g2news1.google.com comp.lang.ada:3626 Date: 2005-07-14T13:06:30-05:00 List-Id: Jeffrey Carter wrote: > Even when Ada is used for concurrent systems, Ada's concurrency features > are often not used. While technical reasons are often given for such > decisions, they rarely are true. Generally, the real reasons are the > designers' lack of understanding of concurrency, replacing it with > something more familiar. Unfortunately I've found this to be all too true :-( I've been involved with fixing up more than one system (long after the original designers have moved on) that had horrendous misuse of tasking. One had tasks handling the buffering of data in and out of sockets. A reasonable application of tasking, yes? Except all the interaction between the tasks and the application occurred _within_ the 'accept' blocks. Meaning a message would come on the socket and into the socket-monitoring task, rendezvous and block on the buffering task, which would rendezvous and block on the message processing task, which would generate output that would rendezvous and block on the output buffering task, which would rendezvous and block on the output socket transmission task, which then write out the message, followed by unblock, unblock, unblock, etc. I am not making this up. I characterized this as the world's most expensive procedure call chain. -- Marc A. Criley -- www.mckae.com -- DTraq - XPath In Ada - XML EZ Out