comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: organizing deep source trees with child packages
Date: Sun, 16 Oct 2011 15:43:03 +0200
Date: 2011-10-16T15:43:03+02:00	[thread overview]
Message-ID: <qii1up6ovs2p$.1qoobu4chlxcd.dlg@40tude.net> (raw)
In-Reply-To: 82hb39umkd.fsf@stephe-leake.org

On Sun, 16 Oct 2011 08:51:14 -0400, Stephen Leake wrote:

> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
> 
>> On Fri, 14 Oct 2011 00:25:15 +0200, Yannick Duch�ne (Hibou57) wrote:
>>
>>> Le Thu, 13 Oct 2011 16:18:27 +0200, Ludovic Brenta  
>>> <ludovic@ludovic-brenta.org> a �crit:
>>>> Directories are *not* a solution for these problems.  They do not
>>>> represent dependencies or hide any information from the compiler.
>>> This is not a matter of semantic, this is a matter of being handy for  
>>> human beings.
>>
>> Actually long file names is not the problem. The problem is that GPS in its
>> tree view control used for browsing the project units ignores the packages
>> hierarchy in favor of the hierarchy of the file system. Change that in GPS
>> (or another Ada IDE) and the problem would largely disappear.
> 
> I still don't understand what "problem" is being solved here.

Long file names, which are difficult to read.

GPS project view shows file names, e.g.:

gtk-layered-waveform-ring_data_buffer.adb
gtk-layered-waveform-ring_data_buffer.ads

It should rather show simple names of Ada units, e.g.:

gtk
|-layered
|   |-waveform
|   |   |-ring_data_buffer
|   |   |   |-package specification
|   |   |   |-package body

> A file system browser allows viewing files by file name; that's a good
> solution for a class of problems. A package browser allows browsing
> packages by package name; that's a good solution for another class of
> problems.
> 
> If the file and package names are the same, then you can use a file
> browser as a package browser, avoiding the work of maintaining two
> tools.
> 
> When do file names and package names _need_ to be different?

Always. Actually this is what the OP wished to have: a correspondence
between fully qualified names of Ada units and paths of the files
containing these units. Parent's name <-> directory name. Child name <->
file name.

> I don't see any problem with long file names; they used to be a problem
> on 80 character terminals, but we are past that now.

For projects of many hundred files, it is a huge problem. Especially when
you have hundreds of generic package instances popping everywhere. Pushing
files into different directories makes things only worse. The point is,
when browsing a project you are not interested in files, you are looking
for Ada units, and it is absolutely irrelevant what is the file name of
that unit. In fact, if the source control systems were not so retarded, we
would have no files at all, just versions of units stored in a database.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2011-10-16 13:43 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-12 23:38 organizing deep source trees with child packages Greg Moncreaff
2011-10-13  1:27 ` Yannick Duchêne (Hibou57)
2011-10-13  2:07   ` Greg Moncreaff
2011-10-13  3:52     ` Yannick Duchêne (Hibou57)
2011-10-13  3:55       ` Yannick Duchêne (Hibou57)
2011-10-13  4:21 ` Per Sandberg
2011-10-13  8:20 ` Stephen Leake
2011-10-13 13:19   ` Greg Moncreaff
2011-10-13 14:18     ` Ludovic Brenta
2011-10-13 22:25       ` Yannick Duchêne (Hibou57)
2011-10-14  1:44         ` Randy Brukardt
2011-10-14  2:40           ` Yannick Duchêne (Hibou57)
2011-10-16 12:38             ` Stephen Leake
2011-10-14  7:27         ` Dmitry A. Kazakov
2011-10-14  7:42           ` Yannick Duchêne (Hibou57)
2011-10-16 12:51           ` Stephen Leake
2011-10-16 13:43             ` Dmitry A. Kazakov [this message]
2011-10-16 18:51               ` Shark8
2011-10-16 19:19                 ` Ludovic Brenta
2011-10-17  7:04                   ` Simon Wright
2011-10-17  7:19                     ` Ludovic Brenta
2011-10-17  7:48                       ` Simon Wright
2011-10-17  7:56                         ` Ludovic Brenta
2011-10-17 10:27                           ` Simon Wright
2011-10-17 13:37                             ` Ludovic Brenta
2011-10-16 20:20               ` Yannick Duchêne (Hibou57)
2011-10-17  7:09               ` Simon Wright
2011-10-17  8:07                 ` Dmitry A. Kazakov
2011-10-18 11:12               ` Stephen Leake
2011-10-18 13:07                 ` Dmitry A. Kazakov
2011-10-18 16:55                   ` Simon Wright
2011-10-18 18:25                     ` Ludovic Brenta
2011-10-18 18:57                       ` Simon Wright
2011-10-18 22:00                         ` Bill Findlay
2011-10-19  6:28                           ` Simon Wright
2011-10-19  8:29                             ` Dmitry A. Kazakov
2011-10-19 11:52                               ` Yannick Duchêne (Hibou57)
2011-10-19 12:33                                 ` Dmitry A. Kazakov
2011-10-20 11:00                               ` Stephen Leake
2011-10-19 13:45                             ` Bill Findlay
2011-10-19  1:52                       ` Stephen Leake
2011-10-18 17:31                   ` Niklas Holsti
2011-10-18 18:38                   ` Ludovic Brenta
2011-10-19  1:55                     ` Stephen Leake
2011-10-19 10:41                     ` Dirk Craeynest
2011-10-19  1:51                   ` Stephen Leake
2011-10-19  9:03                     ` Dmitry A. Kazakov
2011-10-19  9:52                       ` Ludovic Brenta
2011-10-19 12:46                         ` Dmitry A. Kazakov
2011-10-19 16:43                           ` Ludovic Brenta
2011-10-19 20:01                             ` Yannick Duchêne (Hibou57)
2011-10-19 20:03                               ` Ludovic Brenta
2011-10-20 10:50                       ` Stephen Leake
2011-10-20 12:09                         ` Dmitry A. Kazakov
2011-10-14 11:55     ` Stephen Leake
replies disabled

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