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: "Jeffrey R. Carter" Newsgroups: comp.lang.ada Subject: Re: Doing Ada right? Date: Mon, 27 Jul 2015 11:42:15 -0700 Organization: Also freenews.netfront.net; news.tornevall.net; news.eternal-september.org Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Injection-Date: Mon, 27 Jul 2015 18:40:45 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="a3855fbfe1a666be9aefba0563039ed5"; logging-data="23086"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/33P4H1gvzX/jVKOCkJ2X+ols7Un/Jet8=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 In-Reply-To: X-Mozilla-News-Host: news://freenews.netfront.net Cancel-Lock: sha1:O3YTWcQ/se9SA49uw4S2pibTf40= Xref: news.eternal-september.org comp.lang.ada:27045 Date: 2015-07-27T11:42:15-07:00 List-Id: On 07/27/2015 08:17 AM, EGarrulo wrote: > While reading about Ada on StackOverflow, I have stumbled upon a comment that said that: > > there are 2 types of programmers: the people who are actually really good > at Ada and can do it right, and those that "know" Ada, but program it in > a way/style representative of the 70s with older languages.[1] The "2 kinds of programmers" probably represents my frequent comment about the 2 kinds of developers: coders and S/W engineers. Ada is designed to support the way S/W engineers think. Those who like Ada and are good at it are largely S/W engineers, while those who dislike it and fight with it are generally coders. So part of how to become really good at Ada is to be a S/W engineer. Another is, as you realized, to read lots of Ada. You should start with Annex A of the ARM. http://www.adaic.org/resources/add_content/standards/12rm/html/RM-A.html This is stuff that you should be familiar with anyway if you're using Ada. Then you can look at some of the Ada code that's out there and publicly available. There are a number of demo programs at the Gnoga site gnoga.com and numerous Ada libraries. One is the PragmAda Reusable Components https://pragmada.x10hosting.com/pragmarc.htm There are 2 versions of this one, one for Ada 95 and one for the 07 version of Ada. You might find it interesting to look at the differences between the 2. You should think about what you like and dislike in the code you read. It's not all going to be great. Why did they do things that way and not another? What would make it clearer or easier to use? I've always wondered why Ada.Text_IO overloads things with and without a File parameter, rather than having one version with the File parameter defaulted to Current_Input. Finally, you should write lots of Ada. You should do so knowing that you'll throw away a lot of it. Think about it just as you do for the Ada you read. -- Jeff Carter "Why don't you bore a hole in yourself and let the sap run out?" Horse Feathers 49