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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,7ee10ec601726fbf X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-10-12 10:12:25 PST Newsgroups: comp.lang.ada Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!newsgate.cistron.nl!newsfeed.online.be!zur.uu.net!ash.uu.net!xyzzy!nntp From: Jeffrey Carter Subject: Re: why not X-Nntp-Posting-Host: e246420.msc.az.boeing.com Content-Type: text/plain; charset=us-ascii Message-ID: <3BC71F54.1FFE78FA@boeing.com> Sender: nntp@news.boeing.com (Boeing NNTP News Access) Content-Transfer-Encoding: 7bit Organization: The Boeing Company X-Accept-Language: en References: <3BC30674.BA88AAB6@brighton.ac.uk> <9pvv3t$ves$1@news.huji.ac.il> <3BC5D730.DA950CC7@boeing.com> <9q4pa7$1ad$1@nh.pace.co.uk> <3BC6ACC8.23EF21BC@free.fr> Mime-Version: 1.0 Date: Fri, 12 Oct 2001 16:50:28 GMT X-Mailer: Mozilla 4.73 [en]C-CCK-MCD Boeing Kit (WinNT; U) Xref: archiver1.google.com comp.lang.ada:14425 Date: 2001-10-12T16:50:28+00:00 List-Id: Ted Dennison wrote: > > Well, its not *quite* that. Its just that a simple list is fairly easy to code > and test (perhaps 6 hours or so). The result should be fairly fast too, as it > won't have any more capability than you need. On the other side, it takes a fair > bit of study to figure out how to properly instantiate a Booch component. It > isn't a simple generic. You have to find the proper package first, which > involves deciphering the naming scheme, and the package hierarchy. That can take > two hours or more for the uninitiated. Then you have to figure out that you have > to instantiate a grandparent package, then take that instantiation and use it to > instantiate a the parent package, then take that instantiation and use it to > instantiate a child. This isn't something most Ada programmers regularly have to > deal with, and it can be quite confusing first. Most beginners waste lots of > time trying to instantiate the child generics from the generic package instead > of from the instantiation of it. To make matters worse, there are sometimes > other generics you are supposed to instantiate so that you can use them as > parameters into other generic instantiations. To top it all off, you may *still* > need to test the result to make sure it does what you need it to do. This is an excellent argument *against* the BCs. Maybe in C++ the implicit instantiation alleviates this, or maybe C++ people are masochists, but in Ada it's unacceptable for a library to be so complicated that it takes hours to find and instantiate a list, and even then not be sure you've got what you need without testing. Indeed, this smacks of the C culture, in which unnecessarily complex things are embraced, because those who can understand them are praised as gurus. I've always felt that it was stupid to waste my time on such things when simpler alternatives exist. I have a similar attitude towards component libraries. -- Jeffrey Carter