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-26 09:41:28 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!wn11feed!worldnet.att.net!207.35.177.252!nf3.bellglobal.com!nf1.bellglobal.com!nf2.bellglobal.com!news20.bellglobal.com.POSTED!not-for-mail From: "Warren W. Gay VE3WWG" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) 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> <_bdQb.24861$zj7.15527@newsread1.news.pas.earthlink.net> <4011CB98.4040503@noplace.com> In-Reply-To: <4011CB98.4040503@noplace.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <55cRb.23234$Kg6.213057@news20.bellglobal.com> Date: Mon, 26 Jan 2004 12:27:17 -0500 NNTP-Posting-Host: 198.96.223.163 X-Complaints-To: abuse@sympatico.ca X-Trace: news20.bellglobal.com 1075137985 198.96.223.163 (Mon, 26 Jan 2004 12:26:25 EST) NNTP-Posting-Date: Mon, 26 Jan 2004 12:26:25 EST Organization: Bell Sympatico Xref: archiver1.google.com comp.lang.ada:4824 Date: 2004-01-26T12:27:17-05:00 List-Id: Marin David Condic wrote: > Having to maintain something that works on more than one environment is > always some version of Hell. Given that we don't have one single > computer architecture and one single OS and one single compiler, etc., > there is *some* form of Hell we'll have to deal with. Conditional > compilation may just be the least painful version of Hell in some > circumstances. > > MDC > > Warren W. Gay VE3WWG wrote: >> Jeffrey Carter wrote: >> >>> C with preprocessor directives is also Maintenance Hell. I don't see >>> that it's a better Hell. >> >> Given that it should be optional, it would not be your problem ;-) I would tend to agree. There is no "pure" way to make non-trivial code portable. If we go back to the "non-normalized database" metaphore, keeping separate versions of code for purity sake (to avoid conditional compilation), is like having to update a customer name in a database in 12 different tables. This potentially leads to leaving one instance of that name wrong, or left unchanged. Whereas, centralizing the affected code in one place (ugly or not), requires only one update to get it changed (like changing a name in a database in one centralized place). Again, I am not saying it has to be "preprocessing" because that is an implementation detail. I am also saying that it need not look like C's preprocessor #ifs. Choose something more elegant. -- Warren W. Gay VE3WWG http://ve3wwg.tk