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!news1.google.com!proxad.net!gatel-ffm!gatel-ffm!194.25.134.126.MISMATCH!newsfeed01.sul.t-online.de!t-online.de!news.belwue.de!LF.net!news.enyo.de!not-for-mail From: Florian Weimer Newsgroups: comp.lang.ada Subject: Re: Isn't this in favour of Ada?? Date: Fri, 05 Aug 2005 18:58:50 +0200 Message-ID: <877jf02ud1.fsf@mid.deneb.enyo.de> References: <42d64dde$0$64794$edfadb0f@dread12.news.tele.dk> <87ll3hyi14.fsf@deneb.enyo.de> <1FzEL7m558iW@eisner.encompasserve.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: albireo.enyo.de 1123261145 30676 212.9.189.177 (5 Aug 2005 16:59:05 GMT) X-Complaints-To: Cancel-Lock: sha1:6HzYV3hdOzaT6EUQTBS1ujxNZRk= Xref: g2news1.google.com comp.lang.ada:3984 Date: 2005-08-05T18:58:50+02:00 List-Id: * Larry Kilgallen: >>>> I also fail to see Ada's advantages because Ada tasking tends to match >>>> poorly to concurrency models supported by operating systems. For >>>> example, how can you add a select alternative which waits for activity >>>> on a specific file descriptor, without introducing many pointless >>>> context switches? >>> >>> I don't know "file descriptor" as an Ada term, but presuming you mean >>> activity on a file, I would use the VMS Lock Manager requesting an AST >>> when there is activity (if I were creating an Ada implementation). >> >> But my point was that this has to be done by the implementor. It is >> something that is hard to resolve at a library level (unless you are >> willing to take the costs of a few additional context switches, of >> course). > > By "implementor" I presume you mean the person who builds an Ada > compiler and runtime system for a particular operating system. > The fact that it is hard to build a compiler is not my problem > unless I am trying to build the compiler myself. The original claim in this thread was that Ada is particularly suitable to the concurrency challenges ahead of us (I don't believe that there are any fundamentally new challenges, but let's assume that there are). However, in order to create scalable applications, you have to use some features of today's operating systems, for example I/O multiplexing. I am not aware of any Ada implementation which integrates I/O multiplexing with tasks. Therefore, it seems to me that Ada's tasking is a completely useless burden when developing concurrent applications on mainstream operating systems. Usually, you have to figure out how to work around it realiably, so that the run-time library continues to work.