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,3025dd6d917b499c X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.180.105.41 with SMTP id gj9mr3128942wib.3.1350352571311; Mon, 15 Oct 2012 18:56:11 -0700 (PDT) Path: q10ni65138171wif.0!nntp.google.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!216.196.110.142.MISMATCH!border3.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!news.panservice.it!news.swapon.de!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: Brian Drummond Newsgroups: comp.lang.ada Subject: Re: Ada, the best language with the not-so-best tool chain Date: Tue, 9 Oct 2012 08:10:44 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <38af7fb8-b0a4-4a31-87aa-b7b698cc89c3@googlegroups.com> <3ca0ffd0-1764-484b-8fab-17c0d2dd9463@googlegroups.com> <1f645050-cf4c-40bf-a797-9687b69e4a54@googlegroups.com> <18ats2960nsvm$.kfufsnul13aq$.dlg@40tude.net> <5072c9ae$0$6562$9b4e6d93@newsspool4.arcor-online.net> <4keoa6epdxt7.1nnwxy7v7ar90.dlg@40tude.net> <5072dc68$0$6554$9b4e6d93@newsspool4.arcor-online.net> <1f7cmfp1l65w1.1deog8cfxbs0u$.dlg@40tude.net> <5072e37a$0$6556$9b4e6d93@newsspool4.arcor-online.net> <877gr0hcvz.fsf@ludovic-brenta.org> Mime-Version: 1.0 Injection-Date: Tue, 9 Oct 2012 08:10:44 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="0e44dd4a3c4e0a6e83a86f947fb780ae"; logging-data="2794"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18p+2odQhBA8W3G+kxi+Da3cMlhvJeU8T4=" User-Agent: Pan/0.135 (Tomorrow I'll Wake Up and Scald Myself with Tea; GIT 30dc37b master) Cancel-Lock: sha1:yuoVNbnEsZ7FZ5sJIoECNi6YVug= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Date: 2012-10-09T08:10:44+00:00 List-Id: On Tue, 09 Oct 2012 08:59:25 +0300, Niklas Holsti wrote: > On 12-10-09 00:28 , Ludovic Brenta wrote: >> Patrick writes on comp.lang.ada: >> >> * bare-metal programming is _very_ difficult in any language. > > Yes and no; some small bare metal systems are easy (on reset, the > processor starts running from address zero with a workable initial > state); others are much harder to get running (as you say in a later > point, not quoted). Yes. Bare metal programming on a Z80 is easy. Ditto PIC, AVR, etc etc, and of these only the AVR has an Ada toolchain. It may not be mature but it is very usable. (We need to get Warren's thread library into the mainstream though) Bare metal on a typical ARM SOC ... not so much. Though with an ARM dev board "available" for $5, ("available" stays in quotes until mine arrives, probably in November) http://hackaday.com/2012/08/31/preorder-tis-arm-cortex-m4-launchpad-for-5- delivered/ the ARM in all its varieties would be a good next target for the Ada community to focus on. There certainly are ARM Ada compilers, but I'm not sure they are even as mature as AVR-Ada. It's not immediately clear to me which variant I would start with for any particular ARM processor or board, or what RTS it provides. (With one exception : Debian on the R- Pi). The Gnat Android project would be part of this family, and it too seems to have stalled. > But every small board or processor-on-a-USB-stick that I have seen comes > with a C toolchain that handles the bootstrap, and you can get a > LED-blinker running very easily. Not so for Ada, except for the small > number of systems already mentioned (MaRTE OS; Ada for Lego Mindstorms; > GNAT for AVR). What other small targets does gcc support? One approach would be to build for another of these with Ada support, and provide a minimal library along AVR-Ada lines. This would be an approachable project for a small community or a class project. Or me, unless I get a job offer soon... > I don't think this problem is a consequence of the Ada language > properties, but shows the relative commercial success and penetration of > C and Ada in small embedded systems. I think with ARM and AVR covered, Ada should be in a better place than it is. But even in the Arduino community, AVR-Ada goes almost unnoticed. So part of the problem is publicity and exposure, and those need not be expensive to address. - Brian