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=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.224.21.1 with SMTP id h1mr2074337qab.3.1378286095606; Wed, 04 Sep 2013 02:14:55 -0700 (PDT) X-Received: by 10.49.98.162 with SMTP id ej2mr34941qeb.10.1378286095589; Wed, 04 Sep 2013 02:14:55 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!j7no235571qai.0!news-out.google.com!p7ni567qas.0!nntp.google.com!j7no235567qai.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Wed, 4 Sep 2013 02:14:55 -0700 (PDT) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=140.78.186.245; posting-account=EGQ3wAoAAABMlvcviStPLgY0shtgbvUX NNTP-Posting-Host: 140.78.186.245 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <9ec51e40-081f-4ec7-b17f-7c73dbdcd10a@googlegroups.com> Subject: How (or Where?) to get started on Ada? (Properly) From: e.s.harney@gmail.com Injection-Date: Wed, 04 Sep 2013 09:14:55 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 3622 Xref: news.eternal-september.org comp.lang.ada:17098 Date: 2013-09-04T02:14:55-07:00 List-Id: Some general details on my situation (that may be useful or not for the que= stion; feel free to skip down to the "TL;DR" marker if you don't want to re= ad them): As a programmer that has spent most of his time in managed environments so = far (Java mostly, with some PHP and Python here and there), I have been try= ing to get more into "native code" recently, in order to be able to control= things like memory layout and get deterministic resource usage (and thus d= eterministic run time performance).=20 Initially I started looking at C/C++, but soon realized that the intricate = semantics of C++ were a deal-breaker (and not necessary for what I was look= ing for anyways) and that C lacked too many libraries (hash tables, file sy= stems, threading, etc.) to be useful for one-man-projects these days (yes t= here's things like APR or GLib but those are quite a bit of a hassle).=20 Looking at the other options available currently, Ada seemed like the best = one (still actively maintained; competitive compiler; windows/linux-portabi= lity; .. at times I wonder if we'd be seeing thing like Rust or Go if Ada d= idn't still have its Pascal syntax...) So here I am, looking into learning Ada.. I have dabbled in it (as well as = Turbo Pascal) at various points in time for school/university courses, but = those have been very shallow experiences. TL;DR: What I am struggling the most when learning new languages is knowing virtua= lly nothing about what the syntax actually does. I have tried some online t= utorials that manage to walk me through the compilation process and then sl= owly introduce new languages pieces through example programs, but (for me a= t least) that has been a rather frustrating experience, considering that I'= m essentially just copy-pasting code (and having to ignore irrelevant bits = in the code that are not relevant yet, but still necessary for it to run).. What I'm looking for is a text that starts from the other way, i.e. explain= s the language blocks, the data/object model, etc. first, and only after th= at goes on to provide full examples of working code. I guess this is someth= ing I'll only be able to find in a book. I did look on Amazon about available books, but all of them seem fairly dat= ed. "Programming in Ada 2005" by John Barnes did look interesting judging b= y the reviews, yet I'm not sure of how helpful it will be in covering all d= etails that are relevant to writing useful software these days (things like= utf8, interfacing with C, etc.). Do you have any recommendations for me?