comp.lang.ada
 help / color / mirror / Atom feed
From: ryan k <ryan@ryankaskel.com>
Subject: Re: Learning Ada but missing the basics?
Date: Mon, 30 Jun 2008 18:15:19 -0700 (PDT)
Date: 2008-06-30T18:15:19-07:00	[thread overview]
Message-ID: <319201bf-2ac0-4a36-a713-ca1db0326541@d45g2000hsc.googlegroups.com> (raw)
In-Reply-To: rwcak.178626$TT4.88710@attbi_s22

On Jun 30, 5:48 pm, "Jeffrey R. Carter"
<spam.jrcarter....@spam.acm.org> wrote:
> ryan k wrote:
> > I'm trying to learn Ada because a) I think it's cool to learn new
> > computer languages and b) it looks like a good one. I've gone the
> > through a lot of the tutorials but lets say have package MyPackage and
> > 5 subprograms are in the body. Which procedure is run first? Is it
> > sequential? Is there some sort of equivalent to C's main()? Is a
> > binary created for every package? I guess I don't understand where
> > things start and end. Any help or links are greatly appreciated!
>
> You've clearly missed something.
>
> Ada is a concurrent language; this answer assumes you haven't created any tasks.
>
> The thread of control in an Ada program is called the environment task. It
> performs elaboration and initialization as needed, calls the main-program
> procedure, and finally performs any finalization that's needed.
>
> The main-program procedure is one that you designate during the building of the
> executable.
>
> Subprograms in packages are only "run" if they're called.
>
> Consider the typical hello-world example:
>
> with Ada.Text_IO;
>
> procedure Hello is
>     -- null;
> begin -- Hello
>     Ada.Text_IO.Put_Line (Item => "Hello, World!");
> end Hello;
>
> Here, procedure Hello is the main-program procedure. You indicate that when
> building the executable. For instance, with GNAT you would put it in a file
> named hello.adb and might say
>
> gnatmake -gnato -fstack-check -O1 hello
>
> which will create an executable named hello[.platform-dependent-extension].
>
> Ada.Text_IO is a package which contains a number of subprograms. In this
> example, we call its procedure Put_Line. Put_Line may call other subprograms in
> Ada.Text_IO or in other packages. These are the only subprograms that are "run".
>
> HTH.
>
> --
> Jeff Carter
> "Your mother was a hamster and your father smelt of elderberries."
> Monty Python & the Holy Grail
> 06

Could anyone point me to an SVN repository for a good, well written
open source Ada application?



  reply	other threads:[~2008-07-01  1:15 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-30 19:01 Learning Ada but missing the basics? ryan k
2008-06-30 20:19 ` Keith Thompson
2008-06-30 20:38   ` ryan k
2008-06-30 21:18     ` mockturtle
2008-06-30 21:48 ` Jeffrey R. Carter
2008-07-01  1:15   ` ryan k [this message]
2008-07-01  2:56     ` Tero Koskinen
2008-07-01  3:13     ` Jeffrey R. Carter
2008-07-02  3:02     ` DScott
2008-07-02  9:18     ` Pascal Obry
2008-07-02 15:54       ` Alex R. Mosteo
2008-07-02 17:17         ` Georg Bauhaus
2008-07-03  8:09           ` Alex R. Mosteo
2008-07-04 17:08         ` Simon Wright
2008-07-04 17:39           ` Pascal Obry
2008-07-08  8:23           ` Alex R. Mosteo
2008-07-08  9:47             ` Jean-Pierre Rosen
2008-07-02 17:47     ` Gautier
2008-07-01 20:51 ` John McCormick
replies disabled

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