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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,38159b1b5557a2e7 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-01-23 09:55:37 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed-west.nntpserver.com!hub1.meganetnews.com!nntpserver.com!falcon.america.net!eagle.america.net.POSTED!not-for-mail From: Larry Hazel User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.5) Gecko/20031007 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Standard Ada Preprocessor (Was: why ada is so unpopular ?) References: <400BDB7C.40100@noplace.com> <400D2150.6000705@noplace.com> <400E72F9.8060501@noplace.com> <100upo7ln5e3k59@corp.supernews.com> <400FC8E8.2040100@noplace.com> <4011127C.4030801@noplace.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Date: Fri, 23 Jan 2004 11:56:54 -0600 NNTP-Posting-Host: 66.0.32.41 X-Trace: eagle.america.net 1074880559 66.0.32.41 (Fri, 23 Jan 2004 12:55:59 EST) NNTP-Posting-Date: Fri, 23 Jan 2004 12:55:59 EST Organization: 24hoursupport.com Xref: archiver1.google.com comp.lang.ada:4732 Date: 2004-01-23T11:56:54-06:00 List-Id: Warren W. Gay VE3WWG wrote: > As soon as you start splitting code into different parallel "files", > you are denormalizing and decentralizing your code. This is > maintenance hell. If you find a bug in one of these "portability" > unique files, then you have to edit several files to effect the > same fix. It also much more difficult to view the impact to > other "platforms" for such a fix. Why is it more difficult to edit several files than several places in one file separated by some ugly conditional compilation directives. The code in the separate files would be much cleaner and easier to read. The only conditional compilation need I see is some way to select which body to use with a spec. > > Don't get me wrong. I support the push for a better solution, but > I haven't seen any evidence of anything better than a conditional > compile. Whether conditional compilation comes about by preprocessing > or as part of the internal compile process, I don't care (compiler > writers will care however). But I think that the lack of portability > in Ada does hold it back for more general use. > > MDC also pointed to the need sometimes to do conditional "with" in > a compile. If I am using GNAT, I may need (or find it convenient) > to use a GNAT.* package. If I use another Ada compiler, I may want > to use some other vendor provided packages for similar functionality. > Of course, depending upon what you "with", will also conditionally > change what you want to compile. You should "with" compiler specific units only in a body, so that shouldn't be a problem. > > So in the end, there is a strong need for "conditional compiles". > If we can agree on that, then let's leave preprocessing out of the > discussion and focus on "conditional compilation". How that is > achieved is an implementation issue. > > Again, perhaps conditional compilation should also be optional > to placate those who will have no part in it ;-) > (perhaps enabled by compile option).