From: Martin Krischik <krischik@users.sourceforge.net>
Subject: Re: "Must instantiate controlled types at library level." Why?
Date: Mon, 17 May 2004 08:24:45 +0200
Date: 2004-05-17T08:24:45+02:00 [thread overview]
Message-ID: <21700814.aMYQM4SCxr@linux1.krischik.com> (raw)
In-Reply-To: 3tVpc.34871$vz5.29965@nwrdny01.gnilink.net
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 <vector>"
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
next prev parent reply other threads:[~2004-05-17 6:24 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-11 23:04 "Must instantiate controlled types at library level." Why? Peter C. Chapin
2004-05-12 1:03 ` Jeffrey Carter
2004-05-12 10:47 ` Peter C. Chapin
2004-05-12 11:25 ` Ludovic Brenta
2004-05-12 14:41 ` Martin Krischik
2004-05-13 2:20 ` Peter C. Chapin
2004-05-12 11:55 ` Martin Krischik
2004-05-13 2:59 ` Peter C. Chapin
2004-05-13 7:10 ` Martin Krischik
2004-05-13 10:36 ` Peter C. Chapin
2004-05-13 11:18 ` Martin Krischik
2004-05-13 22:27 ` Peter C. Chapin
2004-05-13 22:54 ` Freejack
2004-05-14 7:13 ` Martin Krischik
2004-05-14 13:50 ` Xenos
2004-05-14 17:27 ` Georg Bauhaus
2004-05-14 17:58 ` Xenos
2004-05-14 18:49 ` Martin Krischik
2004-05-14 19:40 ` Xenos
2004-05-14 22:47 ` Ludovic Brenta
2004-05-15 8:34 ` Martin Krischik
2004-05-16 2:55 ` Hyman Rosen
2004-05-16 13:48 ` Ludovic Brenta
2004-05-17 2:30 ` Hyman Rosen
2004-05-17 5:39 ` Martin Dowie
2004-05-17 7:48 ` Ludovic Brenta
2004-05-17 15:01 ` Hyman Rosen
2004-05-17 16:31 ` Georg Bauhaus
2004-05-17 17:40 ` Hyman Rosen
2004-05-17 19:17 ` Georg Bauhaus
2004-05-17 6:24 ` Martin Krischik [this message]
2004-05-17 19:48 ` James Kanze
2004-05-18 6:27 ` Martin Krischik
2004-05-17 12:33 ` Dmitry A. Kazakov
2004-05-17 13:46 ` Martin Krischik
2004-05-17 15:03 ` Dmitry A. Kazakov
2004-05-17 16:02 ` Alexander E. Kopilovich
2004-05-18 7:48 ` Dmitry A. Kazakov
2004-05-19 1:20 ` Alexander E. Kopilovich
2004-05-19 9:59 ` Dmitry A. Kazakov
2004-05-19 12:38 ` Hyman Rosen
2004-05-19 13:28 ` Dmitry A. Kazakov
2004-05-19 13:09 ` Georg Bauhaus
2004-05-19 13:44 ` Hyman Rosen
2004-05-19 14:17 ` Dmitry A. Kazakov
2004-05-19 14:15 ` Dmitry A. Kazakov
2004-05-21 11:39 ` Georg Bauhaus
2004-05-21 20:33 ` Dmitry A. Kazakov
[not found] ` <c8mkor$rlq$1@a1-hrz.uni-duisburg.de>
2004-05-23 1:28 ` Hyman Rosen
2004-05-23 8:55 ` Dmitry A. Kazakov
2004-05-24 11:38 ` Georg Bauhaus
2004-05-24 13:57 ` Dmitry A. Kazakov
2004-05-24 14:40 ` Georg Bauhaus
2004-05-25 8:32 ` Dmitry A. Kazakov
2004-05-25 15:47 ` Georg Bauhaus
[not found] ` <URJ8Eg0vzF@VB1162.spb.edu>
2004-05-17 16:50 ` Marius Amado Alves
2004-05-18 8:27 ` Dmitry A. Kazakov
2004-05-15 17:20 ` Pascal Obry
2004-05-13 19:33 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox