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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,53ca16c587912bce X-Google-Attributes: gid103376,public From: "Samuel T. Harris" Subject: Re: Source files organisation using gnat Date: 1997/07/01 Message-ID: <33B93E87.59E2@hso.link.com>#1/1 X-Deja-AN: 254591740 References: <19970630185901.OAA27670@ladder02.news.aol.com> Organization: Hughes Training Inc. - Houston Operations Newsgroups: comp.lang.ada Date: 1997-07-01T00:00:00+00:00 List-Id: 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 > > < 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!"