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,FREEMAIL_FROM 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: g2news1.google.com!news4.google.com!feeder.news-service.com!xlned.com!feeder1.xlned.com!news-out1.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.nl!198.186.194.249.MISMATCH!transit3.readnews.com!news-xxxfer.readnews.com!news-out.readnews.com!postnews7.readnews.com!not-for-mail Date: Tue, 08 Feb 2011 17:12:14 -0500 From: Hyman Rosen User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: How do I write directly to a memory address? References: <67063a5b-f588-45ea-bf22-ca4ba0196ee6@l11g2000yqb.googlegroups.com> <19fh1chm74f9.11cws0j5bckze.dlg@40tude.net> <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> <1bnp0pw1c8r5b$.guxc48qweiwe.dlg@40tude.net> <4d51a1c0$0$19486$882e7ee2@usenet-news.net> <4d51b568$0$19486$882e7ee2@usenet-news.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <4d51c05c$0$19486$882e7ee2@usenet-news.net> NNTP-Posting-Host: ccf79ae1.usenet-news.net X-Trace: DXC=ZfXh5ghBXn6IN[0Fm;B`Y1QFZ3T]GPM]7mX0AG3X_jU?HL[6Z1g^FC0VjKk:Lk^BN1cR12TN^Bg7>:KNd2lZeh5cD4 X-Complaints-To: abuse@usenet-news.net Xref: g2news1.google.com comp.lang.ada:17057 Date: 2011-02-08T17:12:14-05:00 List-Id: On 2/8/2011 4:49 PM, Simon Clubley wrote: > In this world view, what happens when the programmer _does_ need to move > up from assembling prefabricated Lego bricks into a standard pattern (which > is what this position above amounts to) to actually having to design > a new structure because they have been given something unique to do ? I first point out that "assembling Lego bricks into a standard pattern" has been an explicit (but rarely met) goal of programming language design for decades. But if someone does need to design something new and cannot, they go and consult the old, wise programmer or the young, wise programmer who knows that kind of stuff. Eventually, they too may become wise. > How do they acquire the experience necessary to understand the tradeoffs > involved with efficiently accessing the structure and updating it ? Mostly they don't have to. They throw things into a hashtable and it's good enough. > How do they understand the issues with multiple threads/programs updating > and accessing the same data structures at the same time ? They put their data into protected objects and let the system deal with it. (Or am I wrong about why Ada had to be changed to provide these?) > Although you can use the prefabricated bricks approach for many standard > designs, you cannot use them for all designs. How do the people who work > on the latter type of project get the experience necessary ? From other people who know. How do Ada programmers get it?