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,7ee10ec601726fbf X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-11-01 13:06:16 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!psinet-eu-nl!psiuk-p4!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: why not Date: Thu, 1 Nov 2001 14:55:13 -0500 Organization: Posted on a server owned by Pace Micro Technology plc Message-ID: <9rs9b3$gv1$1@nh.pace.co.uk> References: <3BC5D730.DA950CC7@boeing.com> <9q4pa7$1ad$1@nh.pace.co.uk> <3BC6ACC8.23EF21BC@free.fr> <3BC71F54.1FFE78FA@boeing.com> <1KGx7.26476$ev2.35117@www.newsranger.com> <3BC7AD82.2A0CCCD4@acm.org> <9qhiqr$af0$1@nh.pace.co.uk> <1nDC7.180$6S7.92255364@newssvr11.news.prodigy.com> <9rjsak$bp3$1@nh.pace.co.uk> <9rmhb9$o1b$1@nh.pace.co.uk> <3BDEF0FE.B55FED9E@san.rr.com> <9rmuqi$es$1@nh.pace.co.uk> <3BDF1F13.4B99361C@san.rr.com> <9rnbtv$5i4$1@nh.pace.co.uk> <3BE03E54.57E0E6C8@san.rr.com> <3BE05304.5AB6862D@san.rr.com> <9rpqfr$duh$1@nh.pace.co.uk> <3BE1A1D5.A1DC08AE@san.rr.com> NNTP-Posting-Host: dhcp-200-133.miami.pace.co.uk X-Trace: nh.pace.co.uk 1004644515 17377 136.170.200.133 (1 Nov 2001 19:55:15 GMT) X-Complaints-To: newsmaster@news.cam.pace.co.uk NNTP-Posting-Date: 1 Nov 2001 19:55:15 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:15582 Date: 2001-11-01T19:55:15+00:00 List-Id: The idea here is that there are a bunch of available container libraries that will provide - with varying levels of detail - things like lists, maps, trees, etc. and why not lets all settle on using just one of them so it becomes a kind of "convention" and makes it easier to use code written by others, easier to teach Ada to newbies, provides extra facilities within the language, etc. Sort of like C++ adopting STL and making it part of the language, Ada could work towards something similar and thus (eventually) arrive at a richer language. Why would it need to come with a compiler? It doesn't really - there are a bunch of them you can download right now that will be usable in a number of environments. (Will they compile on all Ada compilers? Depends on how well built they are and if the compiler in question maybe has bugs, right? You can *always* make a given program dependent on things that are available in only one implementation.) You can (and should) write a container library as a compiler independent thing and I suspect most of the ones you'll encounter will compile/run with most compilers. Until you get there and do it though, you don't really know that this is true. The reason for having it come with the compiler is to encourage users to use one, common package. In Ada83, people developed their own string handling utilities. In Ada95, there were some nice packages provided under Ada.Strings... and new developments almost certainly use these packages rather than various home grown answers. When you look at that code, you pretty much know what is going on because you are already familiar with Ada.Strings.. You also continue to leverage Ada.Strings. and speed your development time by using a common package that everyone knows about. If a collection of data-structurey-stuff was available to you just by virtue of coming along with the compiler, chances are you'd leverage it the same way. (In the standard or not - if it comes along with some/most/all compilers, you'll probably want to use it rather than building one of your own.) How does a component library get some kind of widespread adoption? That's obviously an open topic for discussion here! :-) Getting some general agreement on what it should look like is a good place to start though. MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com Web: http://www.mcondic.com/ "Darren New" wrote in message news:3BE1A1D5.A1DC08AE@san.rr.com... > > What I'm not clear on, being an Ada newbie, is why it needs anything > more than this. That is, shouldn't something like a data type library be > exceedingly portable? Shouldn't one be able to write something like a > red-black tree in pure Ada without relying on anything > compiler-specific? I'm not sure why GNAT's regexp, for example, needs > the GNAT compiler. I haven't looked into it at all, but I can't imagine > what could possibly be in there, given that it's basically manipulation > of arrays of characters, yes? > > So what am I missing? Why would a doubly-linked list need to come with a > compiler? >