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 Path: g2news2.google.com!news4.google.com!feeder.news-service.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!138.195.8.3.MISMATCH!news.ecp.fr!news.jacob-sparre.dk!pnx.dk!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: How do I write directly to a memory address? Date: Wed, 9 Feb 2011 20:51:57 -0600 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <67063a5b-f588-45ea-bf22-ca4ba0196ee6@l11g2000yqb.googlegroups.com> <4d4ff70e$0$6886$9b4e6d93@newsspool2.arcor-online.net> <737a6396-72bd-4a1e-8895-7d50f287960e@d28g2000yqc.googlegroups.com> <4d5008a5$0$6879$9b4e6d93@newsspool2.arcor-online.net> <4d5031fe$0$6765$9b4e6d93@newsspool3.arcor-online.net> <1f229967-d3cf-42b6-8087-c97ee08652f3@i40g2000yqh.googlegroups.com> <4d51169e$0$7657$9b4e6d93@newsspool1.arcor-online.net> <4d51905c$0$19486$882e7ee2@usenet-news.net> <36212a7b-deab-45d9-ac45-aa29cd90c7bc@o18g2000prh.googlegroups.com> <4d51a7bb$0$19486$882e7ee2@usenet-news.net> <7ee1e395-a885-4f86-a3ed-30f773b67803@y12g2000prf.googlegroups.com> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1297306319 26904 69.95.181.76 (10 Feb 2011 02:51:59 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Thu, 10 Feb 2011 02:51:59 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5931 Xref: g2news2.google.com comp.lang.ada:18170 Date: 2011-02-09T20:51:57-06:00 List-Id: "Shark8" wrote in message news:7ee1e395-a885-4f86-a3ed-30f773b67803@y12g2000prf.googlegroups.com... On Feb 8, 5:03 pm, "Randy Brukardt" wrote: ... >> Lest you think I'm talking about mythical other people, let me say that I >> put Janus/Ada (written almost solely in Ada) in the category of garbage >> Ada >> programs. It was designed by people (including me, fresh out of college) >> that didn't understand encapsulation and contracts very well, and as such >> it >> doesn't use them very consistently. It "works", of course, but it suffers >> from a lot of the problems that you might get from a C written compiler. >> With one exception: virtually every problem is detected by the failure of >> an >> Ada runtime check, so it is rare to get the wrong answer as opposed to no >> answer. > >Intriguing self-assessment on Janus/Ada. >If you don't mind my asking, if you were to scrap-redo the compiler >what would you do differently? >Assuming you'd be using Ada, would you implement it in Ada 2012? The last part is easy, yes, of course. Nothing better has appeared, and I don't think some one-off language would be a good choice. The main thing to redo would be to organize the units and interfaces in some logical way. We had to work around various arbitrary constraints in the early days -- to get the compiler to fit at all on CP/M systems and 16-bit MS-DOS systems. That's led to a forest of packages with poorly defined interfaces (because putting everything related in one package would have been too large for what was compilable on MS-DOS). Moreover, people always "cheat" for expediency -- they directly call supposely internal routines because they can. (Ada 83 didn't have anything like private packages; we used subunits when we could, but they were only effective for large subprograms.) Getting rid of that would be good. Finally, there is a lot of duplicated algorithms, mainly because we couldn't spare the space to store little used values. >Also, in your opinion what's the best thing to do to really understand >encapsulation and contracts? I'm not sure. I didn't really figure it out until I had been burned enough by bad ones. :-) And we had experience using a "modular" language at the University of Wisconsin (the original Modula), so we already had a vague idea of what benefits it could bring. Randy.