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,fd63afa4dc364b7e X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-03-25 07:48:03 PST Path: supernews.google.com!sn-xit-03!supernews.com!logbridge.uoregon.edu!dispose.news.demon.net!news.demon.co.uk!demon!zooks.demon.co.uk!anton From: Anton Gibbs Newsgroups: comp.lang.ada Subject: Re: Implementing C/C++ style #include... Date: Sun, 25 Mar 2001 16:45:02 +0100 Message-ID: References: <98m938$2iod0$1@ID-25716.news.dfncis.de> <99alrr$itf$1@nh.pace.co.uk> <99d5dj$fi4$1@nh.pace.co.uk> NNTP-Posting-Host: zooks.demon.co.uk X-NNTP-Posting-Host: zooks.demon.co.uk:193.237.71.192 X-Trace: news.demon.co.uk 985535120 nnrp-07:20108 NO-IDENT zooks.demon.co.uk:193.237.71.192 X-Complaints-To: abuse@demon.net MIME-Version: 1.0 X-Newsreader: Turnpike Integrated Version 4.02aS Xref: supernews.google.com comp.lang.ada:6035 Date: 2001-03-25T16:45:02+01:00 List-Id: In article <99d5dj$fi4$1@nh.pace.co.uk>, Marin David Condic writes >I just distrust this sort of add-on to a language and I think Ada is rich >enough to get the job done without a preprocessor. If a programmer is used >to thinking in terms of lexical inclusion rather than semantic inclusion, >preprocessors behave more the way they are used to working. If you make the >mental shift into packages, generics, "with" statements, etc., you probably >won't feel the need to rely on preprocessors since you'll evolve mechanisms >to do the same job in The Ada Way. I agree that Ada is rich enough to do the programming part of systems development without the need for a pre-processor but my experience is that a pre-processor can help enormously with configuration management. For example, to be able to include or exclude specific functionality according to a set of pre-processor options allowing different variants of a system to be built whilst retaining the same essential architecture. We even use this technique to cater for different target execution environments (compiled using different compilers and, in fact, different versions of Ada (83 vs. 95)). -- Anton Gibbs