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,7f2ce8bda9cae4ab X-Google-Attributes: gid103376,public Path: controlnews3.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Dmitry A. Kazakov Newsgroups: comp.lang.ada Subject: Re: "Must instantiate controlled types at library level." Why? Date: Mon, 17 May 2004 17:03:17 +0200 Message-ID: References: <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> <1mbha09eg9amttqgidkj4j4efm0e81o55d@4ax.com> <1178094.WJvXeYHtkb@linux1.krischik.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de KtuDoy0kGYXINr1sVmC0qwqj2YruzwYMyC2Cu1GlInuwQoBwo= X-Newsreader: Forte Agent 1.8/32.548 Xref: controlnews3.google.com comp.lang.ada:638 Date: 2004-05-17T17:03:17+02:00 List-Id: On Mon, 17 May 2004 15:46:52 +0200, Martin Krischik wrote: >Dmitry A. Kazakov wrote: > >> On Mon, 17 May 2004 02:30:23 GMT, 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. >>> >>>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. All a std::vector really is in implementation is a record >>>conatining a length and a couple of pointers. You can pass it >>>and return it by value. It's as "first-class" as anything else >>>in the language. >> >> The difference between first-class and second-class things is that the >> former cannot be expressed in other language things. Clearly it is >> desirable to have a minimal set of first-class things providing a >> richest possible set of second-class ones with minimal efforts. Thus >> comparing two languages one should take into account not what the >> first-class objects sets contain or not, but how productive and small >> they are. > >How very true. The problem with C/C++ is that the first-class things are >like an Iceberg. Very small and beautyfull to look at. BTW, I do not find them beautiful. And to be small is not all. Assembler is even smaller. >But below the >surface, hidden from view they are big and ugly and tear your ship apart. >And missing propper arrays, with/import and save type convertion there are >still to small. It is a question whether proper arrays should be built-in. It is thinkable that a very advanced ADT could allow users to define some sort of generic array interface and have all arrays just implementations. This would probably solve many problems with containers. Of course it is not what C++ templates could handle. Besides that templates are IMO a wrong way. So at this stage it is indeed better to have arrays built-in. -- Regards, Dmitry Kazakov www.dmitry-kazakov.de