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: 109fba,4873305131bf4d94 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,4873305131bf4d94 X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,4873305131bf4d94 X-Google-Attributes: gid1014db,public X-Google-Thread: 10261c,90121986704b5776 X-Google-Attributes: gid10261c,public X-Google-Thread: fdb77,4873305131bf4d94 X-Google-Attributes: gidfdb77,public X-Google-Thread: 10c950,90121986704b5776 X-Google-Attributes: gid10c950,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: ADA and Pascal SUCK, C,C++, and Java are the only languages you need!! Date: 1997/11/07 Message-ID: #1/1 X-Deja-AN: 287733479 References: <34557f2b.1934172@news.mindspring.com> <3459AC95.1D75@dynamite.com.au> <63tean$rs7$1@helios.crest.nt.com> X-Complaints-To: usenet@news.nyu.edu X-Trace: news.nyu.edu 878898532 6600 (None) 128.122.140.58 Organization: New York University Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++,comp.lang.java.advocacy,comp.lang.pascal.ansi-iso,comp.lang.pascal.misc Date: 1997-11-07T00:00:00+00:00 List-Id: John Stevens wrote: >Well, considering I was unable to port an Ada program to two of the five >platforms I was targeting, while I was able to port a C program to all five, >I'd have to say that C is infinitely more portable. No, you would have to say that C was 5/3 times as portable in your scenario. :) >YMMV, and all that. > >>If you have an Ada compiler > >That *IF*, being the gotcha. > >Has anybody ever successfully used Ada on a Linux box? Robert Dewar replies Since you are clearly unaware of what Ada compilers are available, it is quite possible that your failure to successfully port Ada to some of your platforms was simply a matter of not finding out how it could be done. Yes, of course people have used Ada on a Linux box. As you can easily discover if you look just a little bit, GNAT is fully implemented and fully validated on Linux, as well as a dozen other platforms. We have a number of commercially supported customers using Linux. You can incidentally immediately discover that GNAT is fully implemented on Linux by accessinfg the official list of validated Ada compilers. Any Ada programmer should be aware of how to do this, since this is all publicly available information. The implementation of Ada 95 on Linux, like all other implementations of GNAT supported by Ada Core Technologies, is a 100% full implementation of the core language and all the annexes. We regard it as particularly significant, since it means that GNAT + GNU + Linux form a 100% free software solution in the Ada 95 area. There are many reasons for difficulties in porting programs in any languages: o incompetent use of the language o legitimate implementation dependent features o inadequacies in compilers o fundamental portability flaws in the language design In the case of Ada, with the set of implementations available today, there are very few portability problems if any that can be attributed to the last two reasons. Incompetent programmers can of course write non-portable code in any language. In particular, to write portable code you MUST be aware of the defining standard, it is not good enough to informally knows what happens to work with your compiler. One real advantage of Ada over C is that Ada programmers tend to be at least somewhat familiar with the Ada standard, and can be expected to have a copy available, at least for reference purposes. The C standard is very much less well known among C programmers (you only have to look at some of the idiotic statements posted about C in the sizeof(int) discussion to see how many C programmers have strange ideas about C). Alternatively ask a roomful of Ada programmers how many have a copy of the standard available to them and routinely reference it. You will get essentially 100% yes response. Now ask the same question to a roomfull of C programmers. One reason for the difference is that the Ada standard has always been completely freely available electronically, without copyright problems, and inexpensive printed copies have also been available. The Ada community fought hard to achieve this (at one point the ISO standardization was in the balance over a resulting copyright controversy). Many other language standards have not been so fortunate. I don't know the current situation (I know that Ada has inspired other standards groups to try to liberate their standards), but certainly earlier, the ANSI C standard was relatively unavailable, and expensive. Another reason is the culture and circumstances. People tend to have learned C informally, and figure they know it without need to reference a standard. Indeed I often meet C programmers who don't really know what the ANSI standard for C *is*, let alone having a copy of it that they have read. In the Ada world, everyone knows about the Ada standard, and is very aware that knowing the standard and following it carefully is the key to writing portable code. Robert Dewar Ada Core Technologies P.S. Of course I am quite aware that substantive technical arguments can be made regarding the superior portability of Ada over C from a language point of view, but those arguments are well covered, and familiar. I wanted to focus on a rather different aspect of portability, which is the role of programmer attitude and knowledge.