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-02-06 09:42:11 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: <400A9B48.3060100@noplace.com> <400BD4B5.6000307@noplace.com> <400BDB7C.40100@noplace.com> <400D2150.6000705@noplace.com> <400E72F9.8060501@noplace.com> <100upo7ln5e3k59@corp.supernews.com> <401118FD.701@noplace.com> <40126B5E.8050205@noplace.com> <99wTb.4905$bp1.159188@news20.bellglobal.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Date: Fri, 06 Feb 2004 12:27:56 -0500 NNTP-Posting-Host: 198.96.223.163 X-Complaints-To: abuse@sympatico.ca X-Trace: news20.bellglobal.com 1076088423 198.96.223.163 (Fri, 06 Feb 2004 12:27:03 EST) NNTP-Posting-Date: Fri, 06 Feb 2004 12:27:03 EST Organization: Bell Sympatico Xref: archiver1.google.com comp.lang.ada:5289 Date: 2004-02-06T12:27:56-05:00 List-Id: Robert I. Eachus wrote: > Warren W. Gay VE3WWG wrote: >> Robert I. Eachus wrote: ... > I have seen many projects killed by version skew. I could go so far as > to say it is the number one killer of all projects, and all open source > projects. As you depend on more external applications/systems the > number of potential version skew problems goes up as N(N-1)/2. If your > code only depends on say, GNAT, no version skew. (Or from another > project's point of view, one opportunity for version skew, since your > project may not work with all versions of GNAT. I won't disagree with this.. > But when you have a system that depends on the OS, the compiler, a > graphics package, a database, and a browser, N is five. The number of > potential mismatches is 10. That can be dealt with in an embedded > development project--choose a set of versions that work together and > never change any of them. But for an open source project you can't do > that. Which is precisely the challenge. If you want to write some package X (some killer app), then obviously end users will all want it to run with what they have installed. In fact, this may in part be mandated by _other_ package requirements, where version conflicts may force a choice of one. So the challenge is to use the best technology (Ada) and yet be capable of accomodating a large range of "environments". > And that is why bringing other standards into the language and compiler > is a win. Every standard that becomes explicitly part of the language > or implicitly through support by most compilers means that the compiler > developers deal with the version skew, and you don't have to. Yes: I fully support the notion of standards. They simplify life in so many ways. But if I look at all the shared libraries that are available for use under Linux, and the number of Ada "bindings", what is immediately available to me is rather restricted. If I need that functionality, the onus is now on me to solve that problem (rewrite, bind or otherwise adapt). I think because of the targeted end user, Open Sourced projects have a special "need", compared to perhaps the "typical" Ada project (whatever that is ;-) So forgive me if my needs are slanted a bit differently ;-) >> Anyway, I have said my piece on this subject. I have >> no energy to flog this dead horse even more. I already >> know what I have to do ;-) > > Same here. I can't slay the version skew monster, but I can try to > minimize the number of cases it comes up. Where we differ is on which > is the best way to do that. I want to bring as many "standard" > interfaces inside the Ada boundary as possible, you want to standardize > the preprocessor. As I have said before, I have no objection to that, > as long as you don't expect the ARG to do it. I never suggested that someone should just plop it into the ARG's lap without doing homework/whatever. All I can do is speak for myself here, and say that I just wanted to have an open discussion on the merits of some sort of conditional compilation. The result of this discussion seems to suggest that most are resisting the idea, for different reasons. So be it. Maybe with time, resistance to the idea will fade as more people try to address the practical problems that Open Sourced projects face in Ada. One can hope ;-) -- Warren W. Gay VE3WWG http://ve3wwg.tk