From mboxrd@z Thu Jan 1 00:00:00 1970 Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Kevin Chadwick Newsgroups: comp.lang.ada Subject: Re: Ichbiah 2022 compiler mode Date: Thu, 12 Sep 2024 12:36:19 -0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 12 Sep 2024 14:36:19 +0200 (CEST) Injection-Info: dont-email.me; posting-host="95b95ed420df66af713a8e6968a59be8"; logging-data="285913"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19AvL2oWEXNB3S2VPxCYyQhvb/w0GaTMLY=" User-Agent: PhoNews/3.13.3 (Android/14) Cancel-Lock: sha1:XvPleC1sqtYQ564HJ5w6+/Nd/1o= In-Reply-To: Xref: news.eternal-september.org comp.lang.ada:66342 List-Id: >If Ada did not have tasks with priorities, most of the Ada applications >I have worked on in my life would have had to avoid Ada tasking and >retreat to using some other real-time kernel, with ad-hoc mapping of the >kernels's threads to Ada procedures. > Counter intuitively it is possible that this is holding Ada back. A lot of Ada code cannot run without some fairly complex runtime support due to tasks, protected objects, finalization etc.. Runtimes have to be developed for each chip instead of each cpu. Atleast I assume that that is why these features are not available to e.g. the light cortex-m33 or cortex-m4 or cortex-m0+ runtimes. This requires rewriting code which isn't required with equivalent C code such as containers and ip stacks etc.. Even support for the Ada interrupt package is missing but it looks like porting that support to chips is less work and research. If you need advanced multi core support then using an OS seems like a more suitable situation to be in to me. -- Regards, Kc