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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,44e43dc2ffe2ab01 X-Google-Attributes: gid103376,public From: clines@delete_this.airmail.net (Kevin Cline) Subject: Re: Perhaps there _is_ a conspiracy against Ada Date: 1997/04/29 Message-ID: #1/1 X-Deja-AN: 238057220 References: <1997apr13.153233.1@eisner> <5iurff$2a8@newssvr01-int.news.prodigy.com> <335AEF0A.7F79@dynamite.com.au> <335ec70b.5444825@news.airmail.net> <335D804C.74E9@bix.com> <335ec9e1.15714756@news.airmail.net> X-Orig-Message-ID: <33656d7a.5843580@news.airmail.net> Organization: INTERNET AMERICA NNTP-Proxy-Relay: library.airnews.net Newsgroups: comp.lang.ada Date: 1997-04-29T00:00:00+00:00 List-Id: dewar@merv.cs.nyu.edu (Robert Dewar) wrote: ><since the language did not support passing functions or procedures as >arguments? Sure, each vendor defined a way to do that, but I had a >requirement to port this program to multiple architectures and compilers.>> > >The ability to port a program does not mean that you require that the >program be movable with zero changes, just that the parts that need >changing are well defined and easily changed. Well-defined? Certainly. Easily changed? Not without resorting to some macro preprocessor that would have confused Ada compilers and debuggers ignorant of anything equivalent to # source line directives. >In fact a number of compilers implemented the semi-standard for subprogram >pointers defined by the CIFO specification, so programs written to the >CIFO spec would in fact work on quite a variety of compilers. Which ones, and when? "A variety of compilers" didn't include the varieties I was using. >Note that if you required 100% portability with zero change, then you >would say that no C program is portable, which is an exaggeration! The techniques for writing portable C in 1991 were simple and well-known, and a single set of source files could be made to work on a very large number of hardware and operating system combinations. Most of the portability problems for C programs were actually due to variations in operating system services, which couldn't even be called in a standard way using Ada-83. With no preprocessor, working around Ada-83's missing features was considerably more aggravation.