comp.lang.ada
 help / color / mirror / Atom feed
From: "Samuel T. Harris" <s_harris@hso.link.com>
Subject: Re: Source files organisation using gnat
Date: 1997/07/01
Date: 1997-07-01T00:00:00+00:00	[thread overview]
Message-ID: <33B93E87.59E2@hso.link.com> (raw)
In-Reply-To: dewar.867707107@merv


On the fact of it, I have to agree with Laurentau here.
Our working environment includes over 200 engineers working
on one project, a very HUGE project. We simply cannot work
within a single directory. In fact, most groups of 12-20 engineers
cannot work within a singlular directory organization. This
is nothing to do at all with Ada library organization. It is
simply the realities of working with more an a small number
of programmers.

However, development and distribution are two very different
things. Organizing the development environment, one is concerned
with who is doing what to which components and how the programmers
interact with each other. For distribution, one is concerned
with making the act of installation as simply as possible for the
end user. From my experience, it is common to "collapse" a large
and involved directory structure which supports development into
a single or simple directory structure for distribution.

The kicker with GNAT is that the sources are frequenly needed
by the programmer which put us back in the development arena.
Here in is the conflict. But is easily resolved with a good
Ada editor which allows easy navigation from one's own code
to the appropriate GNAT source it refers to. Apex does this
very well. Emacs with the Ada stuff works too. And then there
is David Wheeler's ada2html for the rest of us. Perhaps ACT
could be persuaded to run the GNAT sources through ada2html
and make that available in parallel with the binaries and
source. I suppose that shouldn't involve to much extra work.
My point is that with reasonable development support tools,
the organization of distributed code becomes moot.

Robert Dewar wrote:
> 
> Laurentau said
> 
> <<When I had a look at gnat, the first thing that I saw was... a lot of
> files in the same directory (adainclude). I don't know how to say without
> hurting people but if I program this way at work, I may get beaten to
> death by my quality manager ;-)
> >>
> 
> Try reading the section in the users guide on the compilation model.
> 
> The whole point is that "a lot of files in the same directory" *is*
> the GNAT representation of what you are used to Alsys representing in
> one huge file. Note that this is not actually so much about compilation
> models, the issue of whether to use one huge file or multiple small
> files to represent a library is a perfectly legitimate design dichotomy
> even in compilers that use a conventional Ada 83 model -- many Ada 83
> compilers used multiple files to represent a library.
> 
> Try to forget everything you learned about Alsys libraries, (note that
> you are talking about the old Alsys compiler, the new Aonix compiler
> uses a very similar approach to the one used by GNAT -- why? because
> the designers of the Aonix front end looked at GNAT, and liked what
> they saw!
> 
> If your quality control manager has a fixed idea that one big file is
> better than a directory containing many small files, I don't know
> quite what to say. I guess you should keep him out of the way of
> most C, C++, and Fortran programmers in the world, or there will
> be a blood-bath :-)
> 
> Seriously, the best way to think about the way GNAT works is to think
> of the compilation model as being similar to that used by nearly all
> other languages *before* Ada 83 compilers started using black box
> libraries.

-- 
Samuel T. Harris, Senior Engineer
Hughes Training, Inc. - Houston Operations
2224 Bay Area Blvd. Houston, TX 77058-2099
"If you can make it, We can fake it!"




  reply	other threads:[~1997-07-01  0:00 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-06-30  0:00 Source files organisation using gnat Laurentau
1997-06-30  0:00 ` Robert Dewar
1997-07-01  0:00   ` Samuel T. Harris [this message]
1997-07-04  0:00     ` Robert Dewar
1997-07-05  0:00       ` Michael Feldman
1997-07-03  0:00   ` David Haslam
1997-07-03  0:00     ` Robert Dewar
1997-07-09  0:00       ` Robert I. Eachus
1997-07-03  0:00   ` Steve Doiel
1997-07-04  0:00     ` Robert Dewar
1997-07-04  0:00       ` Michel Gauthier
1997-07-04  0:00         ` Robert Dewar
1997-06-30  0:00 ` Robert Dewar
1997-07-01  0:00 ` Michel Gauthier
1997-07-05  0:00   ` Robert Dewar
1997-07-06  0:00     ` Geert Bosch
1997-07-07  0:00       ` Tucker Taft
1997-07-08  0:00       ` Robert Dewar
1997-07-08  0:00         ` nabbasi
1997-07-08  0:00           ` Robert Dewar
1997-07-01  0:00 ` Michael F Brenner
1997-07-01  0:00   ` Robert Dewar
1997-07-02  0:00   ` Wes Groleau
1997-07-07  0:00     ` Michael F Brenner
1997-07-01  0:00 ` Geert Bosch
1997-07-02  0:00   ` Source files organisation using gnat: more Laurentau
1997-07-02  0:00     ` Robert B. Love 
1997-07-02  0:00       ` nasser
1997-07-03  0:00     ` Michael F Brenner
1997-07-03  0:00     ` Ian Caldwell
replies disabled

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