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,3a3dffa82925efee X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!news.glorb.com!wn14feed!worldnet.att.net!bgtnsc04-news.ops.worldnet.att.net.POSTED!53ab2750!not-for-mail Newsgroups: comp.lang.ada Subject: Re: Advantages From: Jim Rogers References: Message-ID: User-Agent: Xnews/5.04.25 Date: Sun, 27 Jun 2004 18:32:59 GMT NNTP-Posting-Host: 12.73.182.135 X-Complaints-To: abuse@worldnet.att.net X-Trace: bgtnsc04-news.ops.worldnet.att.net 1088361179 12.73.182.135 (Sun, 27 Jun 2004 18:32:59 GMT) NNTP-Posting-Date: Sun, 27 Jun 2004 18:32:59 GMT Organization: AT&T Worldnet Xref: g2news1.google.com comp.lang.ada:1953 Date: 2004-06-27T18:32:59+00:00 List-Id: "Andrew Carroll" wrote in news:mailman.165.1088318818.391.comp.lang.ada@ada-france.org: > Have any tests been done to show that Ada tasking features are better > that other languages' "tasking" features if the model is the same? If > so, where are the results? How much better were the Ada tasking > features? Ada concurrency features are generally at a higher abstraction level than for other languages. The higher abstraction level has many benefits. The higher abstraction level allows a particular target implementation to be transparent to the Ada programmer, providing a high level of source code portability. In languages such as C or C++ you must choose the appropriate low level threading library, such as pthreads or winthreads. The Ada concurrency model includes some very sophisticated concepts such as read/write locks, monitors, condition variables, queued calls involving condition variables, programmer-defined queuing policies, and conditional suspension of calls waiting in a queue (under the control of the calling task). All these features can be implemented using the threading facilities of an underlying OS, or they can be implemented without an OS. The difference to the programmer is his choice of a compiler. Some Ada compilers are specifically designed to produce code for a specific OS while others are designed to produce code for bare hardware, with no underlying OS. >> I'm not saying someone can't do a better job with Ada - just that an > OS is *really hard* to make stable and secure and it isn't something > that can be done in a >> few weekends of coding and hope it will somehow be better. > What features of Ada help to make an OS stable and secure? Bounds > checking? Typing? Rendezvous? Protected Objects? All of those are tools that help the OS designer. They help because each resolves several areas of uncertainty in implemented and executing code. Jim Rogers