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, MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ebf0c2e0d9df034 X-Google-Attributes: gid103376,public From: Robert Dewar Subject: Re: Ada95 + FORTRAN 77 Date: 1999/09/06 Message-ID: <7r1ec4$aup$1@nnrp1.deja.com>#1/1 X-Deja-AN: 521833124 References: <7r07rr$gap$1@nnrp1.deja.com> <7r0u2o$vik$1@nnrp1.deja.com> X-Http-Proxy: 1.0 x42.deja.com:80 (Squid/1.1.22) for client 166.72.71.164 Organization: Deja.com - Share what you know. Learn what you don't. X-Article-Creation-Date: Mon Sep 06 22:14:38 1999 GMT X-MyDeja-Info: XMYDJUIDrobert_dewar Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.04 [en] (OS/2; I) Date: 1999-09-06T00:00:00+00:00 List-Id: In article , Preben Randhol wrote: > I see, but this will only work when compiled on GNAT and > reduce portability? I'm new so I don't know if there are any > other Ada compilers out there. :-) Well I don't think there are any other Ada 95 compilers currently available for Linux (I see you are a Linux user), but sure there are quite a few Ada compilers out there, from quite a few companies, including Aonix, Rational, OCS, Irvine, Averstar, Greenhills, and others. The Ada market is alive and well, with a healthy level of competition, that works well for vendors and users alike. Every compiler will provide useful stuff that is not required by the standard, but is allowed as implementation defined additions. This may include useful packages, useful attributes and pragmas, representation clauses that are not required, etc. For GNAT, some examples of these are special packages: SPITBOL pattern matching, interfacing between C streams and Ada I/O, and many others. attributes: Unrestricted_Access (allowing complete freedom in use of pointers to functions) pragmas: Valued_Procedure (allowing interfacing to functions that have out parameters). rep clauses: close packing for all component sizes up to 64. And of course the other category, which is things that are undefined in the standard (e.g. the relation of Ada and Fortran Integer), but which may be defined by an implementation (they are always the same in GNAT). In any project, you have to understand from the start whether and to what extent you will tie your hands behind your back and not use these nice features, in the interests of portability. There is no one right answer here. Failure to program portably when portability is needed can be a costly mistake, but on the other hand, having to reinvent already invented wheels for the sake of portability can add a lot of perhaps unnecessary effort. One thing that is useful to know is that GNAT is implemented on almost all standard computers (the MAC is the only notable exception), so that if you write in GNAT taking advantage of its capabilities, you can still port your application to any other hardware without difficulty, and for example, if you generate an application using GNAT on Linux x86, then exactly the same features will be available on the Power PC Linux. Robert Dewar Ada Core Technologies P.S. Since Ada Core Technologies was committed to the open source model and to Linux long before these became the subject of everyone's attention, it is not surprising that GNAT is there on Linux first, but it would certainly be nice to see some competition there, especially if some other Ada vendor would take the plunge and open source their technology! Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't.