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,a3176060eb5b787e X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1995-03-23 06:04:33 PST Path: nntp.gmd.de!dearn!blekul11!ccsdec1.ufsia.ac.be!reks.uia.ac.be!idefix.CS.kuleuven.ac.be! Belgium.EU.net!EU.net!news.sprintlink.net!howland.reston.ans.net!gatech!udel!news.mathworks.com!zombie.ncsc.mil!admii!cmcl2!thecourier.cims.nyu.edu!thecourier.cims.nyu.edu!nobody From: dewar@cs.nyu.edu (Robert Dewar) Newsgroups: comp.lang.ada Subject: Re: Does Ada have macros ? Date: 22 Mar 1995 20:34:51 -0500 Organization: Courant Institute of Mathematical Sciences Message-ID: <3kqj7r$7ku@gnat.cs.nyu.edu> References: <3kn413$259@newsbf02.news.aol.com> NNTP-Posting-Host: gnat.cs.nyu.edu Date: 1995-03-22T20:34:51-05:00 List-Id: Actually, there was a Steelman requirement that the lanuage developed NOT have a macro capability. This was a well-thought-out requirement. Compile time macro facilities tend to be dreadfully overused, resulting in horrible maintenance problems, and furthermore, there is a tendency to use them to patch up glaring omissions in the language. For example, C has no named constants, a very bad omission, but #define can be used to patch over this gap. The better way to handle the equivalent of conditional compilation is in most instances to isolate the system dependent parts and then put them in separate units with multiple implementations.