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=-0.4 required=5.0 tests=AC_FROM_MANY_DOTS,BAYES_00 autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,7b73eb137e4ed638 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-05-15 22:15:34 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!feed2.news.rcn.net!rcn!newsxfer.visi.net!154.32.99.10.MISMATCH!psiuk-p2!psiuk-p3!uknet!psiuk-n!news.pace.co.uk!nh.pace.co.uk!not-for-mail From: "Marin David Condic" Newsgroups: comp.lang.ada Subject: Re: Ada Compilers Date: Wed, 15 May 2002 15:32:12 -0400 Organization: Posted on a server owned by Pace Micro Technology plc Message-ID: References: <3CE2AF22.2060208@gmx.spam.egg.sausage.and.spam.net> NNTP-Posting-Host: dhcp-200-133.miami.pace.co.uk X-Trace: nh.pace.co.uk 1021491134 7483 136.170.200.133 (15 May 2002 19:32:14 GMT) X-Complaints-To: newsmaster@news.cam.pace.co.uk NNTP-Posting-Date: 15 May 2002 19:32:14 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Xref: archiver1.google.com comp.lang.ada:24158 Date: 2002-05-15T19:32:14+00:00 List-Id: "David Rasmussen" wrote in message news:3CE2AF22.2060208@gmx.spam.egg.sausage.and.spam.net... > What is the best free Ada compiler available? AFAIK, there are only two that are free. ObjectAda (which comes in a limited version as a kind of "trial" size) and GNAT. Of the two, GNAT is generally used more because it is not limited - its the full-up production quality compiler. There are also some that could be considered "cheap" (money-wise). RR Software and ObjectAda have versions that are priced within the reach of an average hobbyist. > > I know that question is probably silly and will get me redirected to the > faq. See: http://www.adapower.com/ for more info. (Including the FAQ) Look under "Links" for Ada compilers and vendors. Also under Resources. Still, I would like to hear _people's_ opinion, instead of the > usual "we can't say what's best, that's relative". > For the record: "we can't say what's best, that's relative". :-) It truly is, because it depends on what you want to do with it. If you want a recommendation about what is "best" for a hobbyist with a PC and Windows who just wants to learn Ada for general purpose software development, I'd say that GNAT is probably best. You can't beat its price/performance ratio! But the issue can become immediately sticky the moment you start introducing other variables - type of application, host/target hardware, embedded/realtime, required level of support, etc. > More importantly, what do the free compilers lack in contrast to the > commercial ones? > The free compilers generally won't supply you with any support for the money you aren't paying. However, if you need support, there are ways to get it - you just have to open up your wallet. You also won't have the kinds of selection of targets and such that for-money compilers typically can provide. You also won't get all of the available tools or the latest/greatest versions of things either. You get what you pay for - should be pretty obvious, eh? > Also, how portable is typical Ada, and how good is code generation > compared to C++ on the same platform (typically)? > Ada is extremely portable. You have to know something about how to make code portable since you can always hook yourself into platform dependencies no matter what language you're given. Ada is generally more portable than C++ because compilers have to run a validation suite & AFAIK, most C++ compilers aren't being validated against the latest standard. (Lots of known variance between the different compilers and the standard.) I have ported large apps a number of times between Alpha/VMS, Sun/Unix and PC/Windows & had surprisingly few problems - often requiring nothing more than a recompile. But then again, I *knew* I'd have to port so I wasn't hooked into platform dependencies - or had them isolated where the problems would be minimized. Quality of code generation? You can't compare this. Its been discussed here many times. The *language* doesn't determine the quality of code generation. The *implementation* does. Some compilers are better than others - and that's all you can hope to compare. (For example: "How good is this version of the GNAT Ada compiler on a PC versus that version of the MSVC++ compiler for the PC given this specific collection of algorithms/code?") That said, there is nothing inherent in Ada that would make it less efficient than C/C++. Many implementations of Ada generate code that is as good or better than many implementations of C/C++ for equivalent programs. So don't worry that Ada is going to somehow or other be "slow". You have to pick a quality compiler that produces good code for the types of algorithms you usually write and you have to know the language/implementation well so that you can get the most out of it. MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com