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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f849b,d275ffeffdf83655 X-Google-Attributes: gidf849b,public X-Google-Thread: f5d71,d275ffeffdf83655 X-Google-Attributes: gidf5d71,public X-Google-Thread: 115aec,d275ffeffdf83655 X-Google-Attributes: gid115aec,public X-Google-Thread: 103376,d275ffeffdf83655 X-Google-Attributes: gid103376,public X-Google-Thread: 146b77,d275ffeffdf83655 X-Google-Attributes: gid146b77,public X-Google-Thread: 101b33,d275ffeffdf83655 X-Google-Attributes: gid101b33,public X-Google-Thread: 1108a1,d275ffeffdf83655 X-Google-Attributes: gid1108a1,public X-Google-Thread: 109fba,d275ffeffdf83655 X-Google-Attributes: gid109fba,public From: Ken Keys Subject: Re: Ada vs C++ vs Java Date: 1999/01/15 Message-ID: <369F911E.8A85D333@west.raytheon.com>#1/1 X-Deja-AN: 433058022 Content-Transfer-Encoding: 7bit References: <369C1F31.AE5AF7EF@concentric.net> <369D1F2B.138D1FB8@pwfl.com> <369E4A41.8D7DDA14@west.raytheon.com> <369E8081.D4FCFBA9@pwfl.com> Content-Type: text/plain; charset=us-ascii Organization: Raytheon Missile Systems Mime-Version: 1.0 Newsgroups: comp.lang.ada,comp.lang.c++,comp.vxworks,comp.lang.java,comp.java.advocacy,comp.realtime,comp.arch.embedded,comp.object,comp.lang.java.programmer Date: 1999-01-15T00:00:00+00:00 List-Id: Marin David Condic wrote: > Well, that depends on what y'all mean by "an RTOS environment". I built > a rocket engine control based on a Mil-Std-1750a microprocessor which I really meant an OS which has support for tasks/threads independent of the application program. That would certainly apply to UNIX/VMS/NT, but I was more interested in cases where there was some incentive to be small, fast or both which is why I used VxWorks as an example. > So XD-Ada provided its own built-in RTOS which is pretty common for > those of us in the bare machine business. A close comparison would be So obviously you are not going to bypass Ada and talk directly to the RTOS. OK, you made me do it. I'm going to toss in a war story of my own. Back in the 80's I was involved in a bare metal Ada project. It was entirely interrupt driven and didn't use tasks as such. Therefore, it is not directly applicable to the above discussion. However, it involves some language issues which apply to the outer thread. We used the Telesoft compiler which left a lot to be desired. More important, it was a very Ada-unfriendly design. It was a direct port from a C program which was in turn a more or less direct port from an assembly language program that ran on a different processor. As just one example, the design made heavy use of packed flag words and masks. At the time Ada did not have a bit wise AND operator, so we emulated the operation (rather expensively) with bit field operations. Not surprisingly, the Ada version was much bigger and much slower than the C version. (We measured the performance by increasing the input data rate until the program started missing interrupts.) If I would have had the leeway (and the time) to make some design changes, I'm sure that I could have brought the performance of the Ada version more in line with that of the C version. However, getting the size of the Ada version down would have required a better compiler. KLK