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,f82868bd08967223 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.15.41 with SMTP id u9mr24878909pbc.3.1321351576881; Tue, 15 Nov 2011 02:06:16 -0800 (PST) Path: h5ni56878pba.0!nntp.google.com!news1.google.com!goblin2!goblin.stu.neva.ru!aioe.org!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Booch Components question Date: Tue, 15 Nov 2011 10:06:14 +0000 Organization: A noiseless patient Spider Message-ID: References: Mime-Version: 1.0 Injection-Info: mx04.eternal-september.org; posting-host="dFCm8HWntFqmDIilBLqEJQ"; logging-data="5904"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/nIaQh+8mDdg4W+OJ5ZRdYR9IPFIxIPms=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (darwin) Cancel-Lock: sha1:66pQfpyzBGxwpWQ05GhpvPkzkTY= sha1:RrqvJVunn//Ybo7aJZQesUd7T3I= Xref: news1.google.com comp.lang.ada:18929 Content-Type: text/plain; charset=us-ascii Date: 2011-11-15T10:06:14+00:00 List-Id: "Randy Brukardt" writes: > "Simon Wright" wrote in message > news:m28vnlb9ry.fsf@pushface.org... > ... >> If anyone has objections/suggestions, now would be a good time to raise >> them; thanks in advance. > > [I don't use your components and haven't looked at them in many years, > but I can't resist commenting. Feel free to give this comment the > value you think it deserves... :-)] Quite a lot, actually, Randy: thanks for the comments. > I'm of two minds of this (maybe even more). Me too. > First, if someone needs *simple* components, they are best served by > using the Standard ones added in Ada 2005. Even if they have to use > Ada 95, they can use the Ada 2005 components with a few small > modifications (change the name to Ada_Containers, and replace the > anonyomous access types with named ones). [Ada 95 use of the > containers will limit instantiations and call-backs to library-level, > annoying sometimes but not a major hardship.] Using these containers > means that they will be available on (most) future compilers and > presumably will decrease the learning curve for future maintainers > (most Ada programmers will be at least somewhat familar with them). Now that would be an interesting little project! Rather similar to [1]. But I think there wouldn't be that many customers; surely anyone starting a new project would just go for the standard Containers. I think the only BC that I've used that doesn't have an equivalent in the Standard is the Bag. > So, for alternative components to be valuable, they need facilities > beyond the basic ones supported by Ada 2005 and even Ada 2012. This > funny "list" container seems to be in that category. So it would seem > to be a shame to lose it. I think I'll move it to a new 'deprecated' section. But the real trouble with it is that it has quite serious bugs which I don't propose to fix. > OTOH, the name "list" seems highly confusing. "List" seems to have > gained a fairly standard meaning in the use of containers, and I'm not > surprised that most people look there first. Having something that > works rather differently with that name is asking for trouble. Well, I think it's rather a sort of LISP-y list, where the List variables in your program are rather like cursors, with the added feature that if there are no more cursors pointing to a part of the list, making it unreachable, it gets reclaimed. > OT3H :-), if people move to the Standard containers as we would hope, > it doesn't really pay to maintain alternatives at all. So it might > make sense to just deep-freeze the thing (don't waste time on > enhancements or bugs unless awful), but keep it around for interested > parties. That would be "the gripping hand" :-) [1] https://sourceforge.net/apps/mediawiki/gnat-math-extn/