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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c6567772e9f3871d X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.38.134 with SMTP id g6mr10858674pbk.6.1319107820661; Thu, 20 Oct 2011 03:50:20 -0700 (PDT) Path: d5ni35465pbc.0!nntp.google.com!news1.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!post02.iad.highwinds-media.com!news.flashnewsgroups.com-b7.4zTQh5tI3A!not-for-mail From: Stephen Leake Newsgroups: comp.lang.ada Subject: Re: organizing deep source trees with child packages References: <21c9e6bb-f4f7-4a00-bde7-68f2c1a42d01@q13g2000vby.googlegroups.com> <82ty7d1ewz.fsf@stephe-leake.org> <3486b228-abdd-490f-b4ef-9ee6b19f65fa@gy7g2000vbb.googlegroups.com> <7179717a-9837-476c-b564-6599a9c02acd@ff5g2000vbb.googlegroups.com> <1qk4l4n9zsdgm$.1bvxdhoq5cpx5.dlg@40tude.net> <82hb39umkd.fsf@stephe-leake.org> <82botev9j0.fsf@stephe-leake.org> <82ipnlu4to.fsf@stephe-leake.org> Date: Thu, 20 Oct 2011 06:50:34 -0400 Message-ID: <828vog2ayt.fsf@stephe-leake.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (windows-nt) Cancel-Lock: sha1:0NqIHlu29R8yZXsyA9AkMezf1ws= MIME-Version: 1.0 X-Complaints-To: abuse@flashnewsgroups.com Organization: FlashNewsgroups.com X-Trace: 64c374e9ffcece029e66100733 Xref: news1.google.com comp.lang.ada:18617 Content-Type: text/plain; charset=us-ascii Date: 2011-10-20T06:50:34-04:00 List-Id: "Dmitry A. Kazakov" writes: >>> Generics also adds a layer of indirection instance <-> generic-body. >>> It is just impossible to remember which is an instance of what and >>> where are instances with particular parameters. >> >> Why is it necessary to _remember_ that? > > In order to find it. E.g. let you have the type Loudness and for some > reason need a logarithm of its value. You remember that you have already > instantiated Ada.Numerics.Elementary_Functions with Loudness as the > parameter somewhere, but need to remember the package name in order to > "with" it. You probably instantiated Float_IO too, where it was? > > Now that was just a trivial example for which some naming schema could > easily be deployed in order to help with that. Yes, that is the solution, and it works for the non-trivial real projects I work on. I have rules for naming generics, and for placing them in the proper directories, so everyone can find them. >> That doesn't mean we can't have a technical discussion, to understand >> what the issues are, and how to improve both Emacs and GPS to make them >> both better. > > Not really, because to me the starting point for such discussion is the > precondition that an *Ada IDE* shall show *Ada* projects, *Ada* units, > *Ada* types, not files. You are presupposing the solution, which makes it impossible to discuss the rationale for that solution. > It seems that Emacs users disagree with this precondition telling me > how exciting it is to find|grep directories. I never said it was "exciting". I simply offered that as one possible solution, to one particular problem. In fact, I presented find|grep as an undesirable solution, and presented better ones. In order to have a useful discussion, you need to actively search for areas of agreement; we agree that find|grep is not a very good solution. I do disagree that an IDE should work only for one particular language. I have never worked on any project that was 100% pure Ada, or any other language. There are always documents written in LaTeX or other formats, small bits of interface code written in other languages, Makefiles, compiler configuration files, web pages, and other files that I need to access. I much prefer using one IDE to do all of that, rather than switching between IDEs based on the file type. Since the basic tasks are "find the right file" and "change the text in it", most of the IDE functionality is shared among the file types. Learning how to use one IDE well is far more effiicient than learning how to use several IDEs. -- -- Stephe