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: a07f3367d7,cc3c5a58c46ea9c4 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.180.182.229 with SMTP id eh5mr1241953wic.1.1364344001061; Tue, 26 Mar 2013 17:26:41 -0700 (PDT) Path: p18ni19750wiv.0!nntp.google.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!85.12.40.139.MISMATCH!xlned.com!feeder7.xlned.com!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!border4.nntp.ams.giganews.com!border2.nntp.ams.giganews.com!border2.nntp.dca.giganews.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsgate.cuhk.edu.hk!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!mx05.eternal-september.org!.POSTED!not-for-mail From: Ludovic Brenta Newsgroups: comp.lang.ada Subject: Re: Runtime startup code for the GNAT Runtime...and a bit of humble pie. Date: Tue, 19 Mar 2013 19:16:10 +0100 Organization: A noiseless patient Spider Message-ID: <87wqt3cl1x.fsf@ludovic-brenta.org> References: <21ad4ef7-0e4a-40ba-ac3f-fe21018c7bd9@googlegroups.com> Mime-Version: 1.0 Injection-Info: mx05.eternal-september.org; posting-host="b921703552c61b967b71297e4575db24"; logging-data="18421"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+vz5ZAVbuWpj4aUcpSw4Dr" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) Cancel-Lock: sha1:J7h/hDzu5DT1Pj1QinzM/2eNZdE= sha1:wK01SKNV6t+7PESqu5IkSh4B8Hw= Content-Type: text/plain; charset=us-ascii Date: 2013-03-19T19:16:10+01:00 List-Id: Simon Clubley writes: > One of the reasons to use Ada over, say C, is for the increased reliability > of the code. However, what if the ported Ada RTS actually results in more > unreliable code because of issues the person porting the RTS did not fully > understand or was simply was not aware of ? > > That's not too bad if your faulty project is sitting on your workbench when > it fails, but what if you have chosen to run Ada in a robot or model aircraft > because you wanted increased reliability in those environments ? > > I've gone back and forth on this in my mind for quite some time and my > current thinking is to use C for the low-end bare metal parts of a project > and to use Ada (under say RTEMS) for the higher level parts of a project. > > I've looked around for languages with real time capabilities, a small > footprint, easy to port to a range of new environments in a reliable way, > and under active development but after considering the options, I chose > (reluctantly) to stay with C for the low end bare metal code. Just a wild idea: have you considered writing these bare-metal parts in Ada with no run-time whatsoever, linking and importing some existing routines from the C run-time? Is this an acceptable compromise? -- Ludovic Brenta.