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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Simon Clubley Newsgroups: comp.lang.ada Subject: Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA Date: Wed, 10 Jul 2013 12:25:09 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <8a3093bb-90b3-4081-9b0b-dfde5aa6b851@googlegroups.com> <993despcuk1d.1ifczvyo501px.dlg@40tude.net> <51da9a80$0$6561$9b4e6d93@newsspool4.arcor-online.net> <1lfymwgas7bnf$.kh3wyk2tncb0.dlg@40tude.net> <1bj6kquk0z8ak$.oyr1yls3ny3e.dlg@40tude.net> Injection-Date: Wed, 10 Jul 2013 12:25:09 +0000 (UTC) Injection-Info: mx05.eternal-september.org; posting-host="3a7522c45acd2a6c162b080668fa4020"; logging-data="29526"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/cml0Oe77Jgw+BrtnFD6ZW3Vn3xDFfq+s=" User-Agent: slrn/0.9.8.1 (VMS/Multinet) Cancel-Lock: sha1:xaFT1eCeSd+B6gRQXIDyzY+t6yo= Xref: news.eternal-september.org comp.lang.ada:16260 Date: 2013-07-10T12:25:09+00:00 List-Id: On 2013-07-09, Randy Brukardt wrote: > "Simon Clubley" wrote in > message news:krh26d$8b0$1@dont-email.me... > ... >> What is needed is to create a Ada compiler which will create code which >> runs in bare metal mode on a number of specific architectures (ARM and >> MIPS would be my personal initial preferences). > > I agree with Dmitry, this sounds like nonsense. Certainly you can write a > cross-compiler, but it can't "target bare-metal". Most machines need a > substantial RTS to support anything. The Z80s that we targeted when we > started out didn't even support multiple and divide in hardware -- you would > have been limited to plus and minus (and no arrays, as those require > multiplying to do indexing) without an RTS. > I define bare metal as including the required support code to support language constructs. Bare metal is defined as the code directly talking to the hardware without a OS in the way. Even bare metal C (within GCC) has references in it's generated code to a gcc supplied library to handle the features not available on the hardware; such code is still considered to be bare metal code. > Early Janus/Ada was available for bare-metal (still is, nominally) -- we > provided the source code of the RTS and customers could tailor it to their > actual hardware board. But there was no way to make that process portable in > any sense -- every hardware implementation was different. And nothing I've > heard here suggests that anything has changed in that respect. > > So it makes sense to target a particular board (Lego Mindstorms, Raspberry > PI), but targeting all boards is nonsense. > I never said anything about targeting _all_ boards. I only talked about targeting specific architectures. Within those architectures, there are specific subclasses you can target. For example, in the ARM world, a generic Cortex-M3 target could be a good choice for a hardware support library. And as I have already mentioned, the process of building a compiler to generate code for a architecture (ARM) and writing a support library for boards within that architecture (Cortex M3) are considered to be two separate things. >> At this point, I'm beginning to think you are either trolling or just >> refusing to accept (for whatever reason) that there's a vast embedded >> market out there, outside of what you are used to, which could be a >> target for Ada. > > I started out creating tiny Ada subsets, and I've come to believe that those > do Ada far more harm than good. The only sort of Ada that can run on those > targets is an emasculated Ada that is likely to repell, rather than attract > people to "real" Ada down the road. > Congratulations, you just guaranteed that Ada is never going to be accepted by the majority with that attitude. The way to get people interested in Ada is to expose them to Ada _before_ they have made a large investment in other languages and have learned to work around the issues associated with those other languages. You are still going to get people like myself interested (people who know those more mainstream languages, but also actively look for other safer languages), but the result of your worldview is that by the time many people are working on projects which you think are large enough to be considered for Ada use, then those people are just going to use the languages they are familiar with because they understand those languages and their issues even though Ada may indeed be a better fit. There's a hell of a lot of good stuff in Ada which deserves to be more widely used, but a number of people here don't seem to understand that their ossified attitudes turn away potential newcomers while those same same people are moaning about the lack of new people interested in Ada. I'm frustrated because I see places it would be _very_ nice to use Ada, but also see that some existing attitudes within the established Ada community are a major blocker stopping people trying Ada. The people who you might interest in Ada today have a very different experience in terms of hardware platforms and projects than what you seem to be used to. If you want those people to start becoming interested in Ada, you need to make Ada relevant to the way they work and their interests. Simon. -- Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP Microsoft: Bringing you 1980s technology to a 21st century world