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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,76da32d8c4934801 X-Google-Attributes: gid103376,public From: eachus@spectre.mitre.org (Robert I. Eachus) Subject: Re: Ada --> C Translation, was: Win CE target Date: 1998/10/13 Message-ID: #1/1 X-Deja-AN: 400736123 References: <6u6flv$qn7$1@nnrp1.dejanews.com> <360FB3B0.5B0E218C@galileo.mpi-hd.mpg.de> <6vobnk$vt9$1@jupiter.cs.uml.edu> Organization: The Mitre Corp., Bedford, MA. Newsgroups: comp.lang.ada Date: 1998-10-13T00:00:00+00:00 List-Id: In article <6vobnk$vt9$1@jupiter.cs.uml.edu> dramirez@cs.uml.edu (Dr Amirez) writes: > ... If you consider a feature rich language a better language > then let me tell you this. I remember seeing a question on this forum > that goes like this: "If a task blocks on I/O, do other tasks get a chance > to run or the *process* will suspend itself, and no task will run > until the process get scheduled again? " > Someone responded that it's undefined. Well, I would think such > an important feature should be very well defined instead of being > left as an excercise for the user to find out how that is implemented > on their systems. I suspect that you misheard. The correct answer is not that it is undefined, but that it is not defined unless the implementation supports the Systems Programming Annex. (In particular, section C.3, Interrupt Support.) But this misses the point. The real reason it is not defined in the core standard is that for some purposes, you need to be able to control things like tasking policies. The Real-Time Systems annex allows the programmer to change the task dispatching policy. Also, some implementations have different run-time libraries available with support for different policies. So the real answer is that, if it matters and you don't like the standard policy, read annex D, and choose a policy that you do like. > After all, isn't Ada intended to be a system programming language? Yes, especially if the System Programming annex is supported. ;-) (Actually, I suspect that most, if not all compilers try to support annex C.) > You can't program systems using features that are system dependant > themselves. Huh? The SP annex has nine implementation-defined characteristics that are required to be documented. For the most part they are things which MUST be implementation dependent, such as what interrupts the hardware has, or the op-codes for machine instructions. > The more features a language has, the more flaws it has. You, as an > Ada programmer, probably know better than I. No, I don't know that. I do know that if the language is at least as powerful as Peano arithmetic, it is either incomplete or inconsistant. The Ada community puts lots of effort into being consistant, but does have well marked doors you can use if you need completeness. -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...