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-Thread: 103376,a0be06fbc0dd71f1 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!feeder3.cambrium.nl!feed.tweaknews.nl!newsfeed.kamp.net!newsfeed.kamp.net!newsfeed.freenet.de!newsfeed01.chello.at!newsfeed02.chello.at!news.inode.at.POSTED!not-for-mail From: Agyaras Newsgroups: comp.lang.ada Subject: Re: The future of Ada is at risk References: <20071229040639.f753f982.coolzone@it.dk> <1199452391.7932.27.camel@K72> User-Agent: MT-NewsWatcher/3.5.2 (PPC Mac OS X) Date: Sun, 06 Jan 2008 10:34:25 +0100 Message-ID: X-Complaints-To: abuse@inode.at NNTP-Posting-Host: 85.127.156.125 (85.127.156.125) NNTP-Posting-Date: Sun, 06 Jan 2008 10:34:26 +0100 X-Trace: d6e394780a0a2f0da39d807366 Xref: g2news1.google.com comp.lang.ada:19234 Date: 2008-01-06T10:34:25+01:00 List-Id: In article <1199452391.7932.27.camel@K72>, Georg Bauhaus wrote: > > I can confirm this. E.g. it is a major headache to get the GNAT compiler > > working under Mac OS X. > > What do you think of http://www.macada.org/ ? Yes, I know the site, and have downloaded the FSF gcc4.3 version from there ( both PPC and Intel). The problem is that this gcc sometimes cannot compile packages the "official" Apple gcc can. So one has to switch back and forth, using gcc4.3 for Ada work and the Apple gcc for other work (e.g. C++). This is probably Apple's fault though. > > AdaCore stopped distributing GNAT/GPS (GPL) for > > the Mac. > > Huh? It is still there (the 2006 edition) That is PowerPC only, based on gcc 3.4, with incomplete Ada2005 support. It would be nice to have GPS for Intel Macs, gcc4.2 at least, with complete Ada2005 support. I tried to compile GPS from the Linux sources (2007 edition) on the Mac and it turned to be very time-consuming, because GPS needs lots of libraries that in turn needed more libraries... finally I gave up, after I asked on this newsgroup and people told me that it was really difficult to do... but maybe the good folks at AdaCore have the proper setup and the know-how to do it. > , and support for the > later Intel based Macs is officially announced on the AdaCore > supported platforms page. I was perhaps not clear on this: I am missing the **GPL** editions of GNAT **and** the GPS IDE for a number of platforms. In 2007 the GPL-ed GNAT+GPS packages are available for Windows and 32-bit/64-bit Linux only. I cannot afford the license costs. > > There has never been a GNAT/GPS package for Solaris AFAIK. > > etc.etc. > > Huh? Please, have a look. It is still there. Sorry, I meant the **GPL** editions (see above). IMHO it is absolutely necessary to provide freely available compilers and IDEs for as many platforms as possible to make a language popular. People should have the opportunity to "give Ada a spin" free of charge, even if they live outside the Intel X86/Windows/Linux galaxy. GPS is great for learning Ada because you can "look" into the sources of the spec files of the standard library. It helped me a lot when I was learning the containers: John Barnes' otherwise excellent Ada2005 book is sometimes a bit tight-lipped on how these work. > > she needs simple but powerful string handling, > > I don't see how simple but powerful string handling > is missing with GNAT's SPITBOL support. [...] > Even the String packages are full of useful algorithms and > data structures, even though there is no general character > type in Ada. The problem for many people starts earlier. Consider these two programs:- -- Ada (221 chars) with Ada.Strings.Unbounded, Ada.Text_IO.Unbounded_IO; use Ada.Strings.Unbounded, Ada.Text_IO.Unbounded_IO; procedure str is Strg: Unbounded_String := To_Unbounded_String("ergonomy"); begin Put_Line(Strg); end str; // C++ (148 chars) #include #include using namespace std; int main(int argc, char *argv[]) { string Strg("ergonomy"); cout<