comp.lang.ada
 help / color / mirror / Atom feed
From: Andrew Shvets <andrew.shvets@gmail.com>
Subject: Re: Introductory Ada Programming Book
Date: Sat, 31 Dec 2016 09:22:36 -0800 (PST)
Date: 2016-12-31T09:22:36-08:00	[thread overview]
Message-ID: <dc968326-c60f-4bd7-949b-d538d0f2a2bc@googlegroups.com> (raw)
In-Reply-To: <701a35ed-2282-4587-be8a-a2b5a99c8f43@googlegroups.com>

On Saturday, December 31, 2016 at 9:34:12 AM UTC-5, Lucretia wrote:
> On Saturday, 31 December 2016 13:18:08 UTC, Andrew Shvets  wrote:
> > Hello,
> > 
> > My name is Andrew Shvets.  I've been learning how to program in Ada over the past few years.  As someone that came from C/C++, Java and Python many of the concepts that were in Ada were not easy to digest at first.  After spending a  fair amount of time looking for a guide that would help me out (something that would guide me through much of the ideas in Ada in a gentle manner was strongly preferred and be focused on Ada 2012), I couldn't find something like this (there is, on the other hand plenty of material that would explain more advanced concepts.)  Having mastered many of the basic concepts in this wonderful language, I figured that having a guide for this would be very helpful and wrote one.  Hence the book "Introductory Ada Programming Book: A Book for Beginner Programmers and Beginners to Ada".  The goal was to create a roadmap for those new to Ada learn more quickly and gain a certain level of mastery.
> 
> 
> Hi,
> 
> Ada basically allows you to think about your data, the way other languages should, but don't. You can still program in a C like way although that's not advised. Basically, data has ranges of allowable values and the compiler will enforce their use, the programmer doesn't have to remember to shove in ASSERT macros everywhere.
> 
> Take a look at John English's AdaCraft http://www.adaic.org/resources/add_content/docs/craft/html/contents.htm - wasn't he supposed to be updating this to Ada 2012?
> 
> IMO, Ada 2012 is the best revision we have so far, if you don't want to use certain features don't use them, or if there is one, use "pragma Restriction (x);" to make the compiler enforce it.
> 
> Then use the various standards (don't bother with the annotated ones yet), http://www.adaic.org/ada-resources/standards to learn Ada 2005 and 2012 extensions to Ada95. 
> 
> BTW, what projects do you have in mind? Always interesting to know what people are doing with the language and why they're looking into it. :)

Sure.  However, Ada has its own way of doing things (from the syntax to procedures/functions to tasks) and going from one to another does require a realignment of how you think about the process of developing applications in this wonderful language.  Having a gentle and hand-held introduction would definitely help for newcomers.

As for projects, I'm thinking of doing an optparse package that you see in Python (which I'm a fan of.)  Honestly, I'm pretty stretched thin due to other obligations/commitments, so that's not something that I can jump on doing right now.

I would like to release a second edition, but again, not sure based on what time I have.

  reply	other threads:[~2016-12-31 17:22 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-31 13:18 Introductory Ada Programming Book Andrew Shvets
2016-12-31 14:26 ` Lucretia
2016-12-31 15:10   ` Dmitry A. Kazakov
2016-12-31 17:14     ` Andrew Shvets
2016-12-31 14:28 ` Lucretia
2016-12-31 14:34 ` Lucretia
2016-12-31 17:22   ` Andrew Shvets [this message]
2016-12-31 17:59 ` Gour
2017-01-02 15:56   ` Andrew Shvets
2017-01-02 16:32     ` Gour
2017-01-03 15:31 ` Patrick Noffke
2017-01-03 22:18   ` Andrew Shvets
2017-01-04  1:14 ` Paul Rubin
2017-01-04  3:07   ` Andrew Shvets
2017-01-04  6:46     ` J-P. Rosen
2017-01-04  9:25       ` raph.amiard
2017-01-04 12:40         ` J-P. Rosen
2017-01-04 12:49           ` Dmitry A. Kazakov
2017-01-04 13:45             ` raph.amiard
2017-01-04 14:14               ` Dmitry A. Kazakov
2017-01-04 15:15                 ` Simon Wright
2017-01-10 10:02                 ` raph.amiard
2017-01-04 15:18               ` Shark8
2017-01-04 21:47                 ` Randy Brukardt
2017-01-05  3:04                   ` Shark8
2017-01-05  7:51                     ` G.B.
2017-01-04 13:44           ` raph.amiard
2017-01-04 22:08             ` Jeffrey R. Carter
2017-01-04 22:39             ` Niklas Holsti
2017-01-05  0:38               ` G.B.
2017-01-05 23:52               ` Randy Brukardt
2017-01-05  6:36             ` J-P. Rosen
2017-01-05  8:38               ` Simon Wright
2017-01-10 10:13               ` raph.amiard
2017-01-09 22:01             ` Robert Eachus
2017-01-04 23:42 ` Andrew Shvets
2017-01-05  0:47   ` G.B.
2017-01-05 19:01   ` Jacob Sparre Andersen
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox