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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,b2d36a382ccbeb18 X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!postnews.google.com!p25g2000hsf.googlegroups.com!not-for-mail From: mockturtle Newsgroups: comp.lang.ada Subject: Re: How Would a Hobbyist Learn Ada? Date: Sat, 24 May 2008 01:10:26 -0700 (PDT) Organization: http://groups.google.com Message-ID: References: <2ee634c3-0dee-4f02-8b02-c4804efd068f@x19g2000prg.googlegroups.com> NNTP-Posting-Host: 62.101.126.216 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1211616626 21062 127.0.0.1 (24 May 2008 08:10:26 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sat, 24 May 2008 08:10:26 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: p25g2000hsf.googlegroups.com; posting-host=62.101.126.216; posting-account=9fwclgkAAAD6oQ5usUYhee1l39geVY99 User-Agent: G2/1.0 X-HTTP-UserAgent: Opera/9.23 (X11; Linux i686; U; en),gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:316 Date: 2008-05-24T01:10:26-07:00 List-Id: On May 24, 6:53=A0am, Ankur Sethi wrote: > n00b question? Probably. Can I find my answer somewhere else? Nope. Do > I have any other place to turn to? Definitely not. > > I'm a hobbyist programmer just out of high school. I've been dabbling > in C and Python for a while now, and would probably take up CS in > college (just a few months from now). > (snip) > So, what would an amateur, cash deprived programmer like me do to > learn Ada? There are web tutorials, for for the 95 standard. There's a > Wikibook, but I've found it incomplete at several places and there are > a lot of concepts I can't grasp. There's the reference document, but I > can't make head or tail of it. > Welcome aboard! I am too a beginner in Ada (I discovered it less than one year ago), so my memories about my learning Ada are still fresh. Moreover, you have a programming background similar to mine (but I use Ruby instead of Python), althoug maybe I have more experience (I finished high- school too much time ago, alas :-). This is my path in learning Ada 1. Got the GNAT suite. It is free and the latest release covers Ada 2005. 2. Read whatever tutorial I was able to find. Yes, you are right, this is a weak spot in our favorite language (there was a thread on this newsgroup few months ago). I guess that there is no tutorial about Ada 2005, but you can start from the tutorial for Ada 95, then add the difference by reading the Rationale (see at http://www.adaic.org/standards/a= da05.html). About the reference: I agree that it is not the most readible document in the world, but it is handy to have when you program. I find a little bit clearer the "Annotated" version, although it is said that it is "Intended primarily for compiler writers, conformance test writers, and others who wish to study the fine details" I find that in more than one occasion the annotations make more intuitive the "CS legalese" used in the RM. 3. Most important (at least for me): pick a problem and start programming. The problem must be not too easy (a part, of course, the "Hello world" program type that you will write at the *very* beginning), nor too difficult. Just to give you an idea of the complexity, I will tell you that (because of my background) I decided to write a generic package for working with polynomials and matrices with coefficients in a ring. I also would suggest taking a problem which requires multitasking. If you ever wrote multitasking programs in C/C++, you will fall in love with Ada at once... Also, try the "generic" programming and experience the difference with C++ templates... A last warning: do not be scared if the first times you will have to fight half an hour to have your first progam compiled. Ada compilers are quite picky... (but that's why we love Ada :-).