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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4c019ad9cc913bbe X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-09-19 01:26:41 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!skynet.be!skynet.be!bnewspeer01.bru.ops.eu.uu.net!bnewsifeed01.bru.ops.eu.uu.net!bnewsifeed00.bru.ops.eu.uu.net!lnewspost00.lnd.ops.eu.uu.net!emea.uu.net!read.news.fr.uu.net!not-for-mail Sender: briot@lyon.act-europe.fr Newsgroups: comp.lang.ada Subject: Re: The Dreaded "Missing Subunits" References: <1b585154.0209121449.ef12609@posting.google.com> <3D819EE7.3A69E5EB@praxis-cs.co.uk> <4519e058.0209160548.461cef27@posting.google.com> From: Emmanuel Briot Reply-To: briot@act-europe.fr Date: 19 Sep 2002 10:26:38 +0200 Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii NNTP-Posting-Host: lyon.act-europe.fr X-Trace: 1032424000 read.news.fr.uu.net 209 212.157.227.160 X-Complaints-To: abuse@fr.uu.net Xref: archiver1.google.com comp.lang.ada:29151 Date: 2002-09-19T10:26:38+02:00 List-Id: Robert A Duff writes: > Contrast with Ada, where GNAT wants .ads/.adb, Rational wants > .1.ada/.2.ada, and AdaMagic wants .spc/.bdy. I know GNAT and AdaMagic > have ways of overriding the convention (not sure about Rational), > but you have to go to extra trouble to use a convention different > from what the compiler wants. Wouldn't it be better if all Ada > compilers supported the same file-naming conventions out of the box, > without using nonstandard pragmas Source_File_Name and the like? The reason things are different for Ada are related to Ada itself. In C, you do a #include with a file name, in Ada you do it with a unit name. So the compiler has to be able to find the matching file. If you take the simpler case of a file not having any dependency (say other than the run time), you can compile it whatever its name and without specifying a convention: gcc -x ada my_file.foo The make-like utilities (gnatmake for GNAT) also need to have access to all the sources in your application. In C, you specify explicitely the list of dependencies in a Makefile (I know you can use "make dep", but then with GNAT you can use "gnatname", and that's the same). Given all this, I don't see the difference. You have to do at least as much work when programming in C. And maintaining the Makefiles can really be a pain, as people who have worked on big projects will know. Emmanuel