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: 103376,c9d5fc258548b22a X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: How do I write directly to a memory address? Date: Wed, 2 Mar 2011 19:44:29 -0600 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <67063a5b-f588-45ea-bf22-ca4ba0196ee6@l11g2000yqb.googlegroups.com> <31c357bd-c8dc-4583-a454-86d9c579e5f4@m13g2000yqb.googlegroups.com> <05a3673e-fb97-449c-94ed-1139eb085c32@x1g2000yqb.googlegroups.com> <4d4c232a$0$28967$882e7ee2@usenet-news.net> <4D4D6506.50909@obry.net> <4d50095f$0$22393$882e7ee2@usenet-news.net> <4d6d56c4$0$11509$882e7ee2@usenet-news.net> <4D6D6A90.2090108@obry.net> <4d6d6e60$0$11509$882e7ee2@usenet-news.net> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1299116674 5866 69.95.181.76 (3 Mar 2011 01:44:34 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Thu, 3 Mar 2011 01:44:34 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5931 X-RFC2646: Format=Flowed; Response Path: g2news2.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!feed.ac-versailles.fr!news.ecp.fr!news.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail Xref: g2news2.google.com comp.lang.ada:18724 Date: 2011-03-02T19:44:29-06:00 List-Id: "Nasser M. Abbasi" wrote in message news:ikkbpu$2lh$1@speranza.aioe.org... ... > Seriously though, what do you mean by "minimize the interfacing as much as > possible"? > > doesn't this depend on the specific situation and the protocol between the > entities involved? Of course. The easy answer is to use only Ada, but of course that isn't always practical. The Rational R1000 took that to its logical extreme, with Ada programs being the only thing it did, down to the hardware level (it had typed memory and hardware exception mechanisms). But even when you aren't using only Ada, you can take steps to minimize the interface layer(s) as much as possible. That means interjecting Ada typing as soon as possible, at the lowest level possible. We tried to do this with Claw, for instance (one of the reasons why it interfaces to Win32 and not something like MFC). The trick is to not go to too low a level and end up reinventing too many wheels. (Some wheels are best reinvented, if the "native" interface is too dissimilar to Ada.) I still much prefer the early MS-DOS days, when the OS did essentially nothing and thus the amount of interfacing that you had to do was minimal. Every interface to a non-Ada system is essentially untyped (even if the other side is also typed) and thus is a major source of errors. Anyway, we're not going back to MS-DOS, and even embedded systems rarely run on bare machines anymore (which is sad, given that an Ada runtime system gives you most of what is needed for an OS kernel). Randy.