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!mx02.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.ada Subject: Re: Languages don't matter. A mathematical refutation Date: Sat, 04 Apr 2015 12:20:39 -0700 Organization: A noiseless patient Spider Message-ID: <87twwv66pk.fsf@jester.gateway.sonic.net> References: <87h9t95cly.fsf@jester.gateway.sonic.net> <04f0759d-0377-4408-a141-6ad178f055ed@googlegroups.com> <871tk1z62n.fsf@theworld.com> <87oan56rpn.fsf@jester.gateway.sonic.net> <877fts7fvm.fsf@jester.gateway.sonic.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="c694756f1077760bb5296aae16c74092"; logging-data="905"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18tKJFrl7OwxAs7iAW7mfYx" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:4jaROTZ8VmZok1yYvA0jvw/4CMw= sha1:Kiuc0LU5cuWpUKONIR8AqUmsE04= Xref: news.eternal-september.org comp.lang.ada:25421 Date: 2015-04-04T12:20:39-07:00 List-Id: Dennis Lee Bieber writes: >>How big and complicated do those programs tend to be, if you don't mind >>my asking? Do they have a lot of complex decision paths? > It's not decision paths so much as deterministic timing... If there is > a possibility of an operation triggering an arbitrary garbage collection Yes, I can understand why a realtime system can't use gc. Writing simple programs without gc isn't too difficult. Writing complicated programs without gc often means spending a lot of effort on manual memory management and debugging memory errors. So I'm wondering if the programs you wrote that way were complicated and if yes, how you dealt with this issue. > (even if it is nothing more than combining adjacent free block into a > single available block) then the operation is not permitted, on the simple > basis that it makes the timing uncertain. In this case you may also have to consider the non-deterministic effects of cache misses, if your cpu has cache memory; similarly for pipeline stalls, serial multipliers, etc.