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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,7f2ce8bda9cae4ab X-Google-Attributes: gid103376,public Path: controlnews3.google.com!news2.google.com!fu-berlin.de!newsfeed.r-kom.de!newsfeed00.sul.t-online.de!newsmm00.sul.t-online.de!t-online.de!news.t-online.com!not-for-mail From: Martin Krischik Newsgroups: comp.lang.ada Subject: Re: "Must instantiate controlled types at library level." Why? Date: Mon, 17 May 2004 08:24:45 +0200 Organization: AdaCL Message-ID: <21700814.aMYQM4SCxr@linux1.krischik.com> References: <13392802.3gDeTK7ybb@linux1.krischik.com> <2780491.NPbR8AFya6@linux1.krischik.com> <11924003.IfRfnULeIG@linux1.krischik.com> <1676457.GMYvKY1ieA@linux1.krischik.com> <1616198.O4tUV8TdF7@linux1.krischik.com> <87lljuvd6j.fsf@insalien.org> <874qqgpjok.fsf@insalien.org> <3tVpc.34871$vz5.29965@nwrdny01.gnilink.net> Reply-To: krischik@users.sourceforge.net Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit X-Trace: news.t-online.com 1084781940 07 31579 joy3GpQJGzFxoPK 040517 08:19:00 X-Complaints-To: usenet-abuse@t-online.de X-ID: bv7hCMZVreJhmARaNazBluKtwPF2cVecHd0X+yRMuRKOzltmP5uW4S User-Agent: KNode/0.7.7 Xref: controlnews3.google.com comp.lang.ada:625 Date: 2004-05-17T08:24:45+02:00 List-Id: Hyman Rosen wrote: > Ludovic Brenta wrote: >> You are not being helpful to anyone with this comment. If you think I >> am ignorant, please explain why, or otherwise give me one good reason >> not to put your name in my kill file. > > Oh, by all means put my name in your kill file! > > But OK. You state that "The std::vector template class is not > a first-class citizen". I haven't a clue as to what that might > mean Ruffly: First class is everything you can use without (in C/C++) "#include" or (in Ada) "with" or (in Java) "import". vector <> is not a first class citizen because you need "#include " And, of corse, to copy the hole content of an other file into your own file is cheating. More precisely: First class are only keywords, predefined operators, predefined types, (in Ada ) attribute and perhaps pragmas. Actually: Even "#include" isn't first class since it is part of a preprocessor. I am unsure if, in Ada, Integer is first class since there is an implicit "with Standart; use Standart;". The argument is that everything inside a language need to be implemented with first class citizen - they are the fondatation of everything else and design errors in this area have profound consequences. Out of my 10 years+ experience with C/C++ I say that the following are my personal top 3 C/C++ design mistakes which lead to most of bugs I had to hunt down insted the compiler just finding them for me. 1) #include instead of an proper import/with. 2) implicit type convertion. 3) arrays are pointers. With Regards Martin -- mailto://krischik@users.sourceforge.net http://www.ada.krischik.com