Re: New release of the C Containers Library (CCL)

Discussion in 'C++' started by Jon, Nov 8, 2010.

  1. Jon

    Jon Guest

    (Ian Collins invited this subthread topic into comp.lang.c++, so I added
    it to the list)

    Ian Collins wrote:
    > On 11/ 9/10 12:11 AM, MartinBroadhurst wrote:
    >> On Nov 8, 11:01 am, "Jon"<> wrote:
    >>>
    >>>>> Just because you found other incorrect usages of the term doesn't
    >>>>> make it correct. A "concrete" class in C++ is one who's object
    >>>>> instances behave like built-in types. Such a class must include
    >>>>> the following special member functions: a default constructor, a
    >>>>> copy constructor, a copy-assignment operator, a destructor.
    >>>
    >>>> Where did you get that from?
    >>>
    >>> My brain. Research it and you will see
    >>>

    >>
    >> I think your brain is confused between POD types and concrete
    >> classes.

    >
    > He is, very much so.
    >
    > if this discussion were to take place on c.l.c++ (where it probably
    > belongs) he would quickly be put right.


    So you both don't know what a POD is either huh. The web is your friend.
    Look them both up unless you wanna keep misunderstanding the concepts and
    potentially cause others to "learn" the incorrect things.
    Jon, Nov 8, 2010
    #1
    1. Advertising

  2. On Nov 8, 7:43 pm, "Jon" <> wrote:
    >
    > So you both don't know what a POD is either huh. The web is your friend.
    > Look them both up unless you wanna keep misunderstanding the concepts and
    > potentially cause others to "learn" the incorrect things.- Hide quoted text
    >
    >


    I do know what a POD type is, and I know what a concrete class is as
    well. Your definition contains elements of both, but is neither.

    Martin
    MartinBroadhurst, Nov 8, 2010
    #2
    1. Advertising

  3. Jon

    Jon Guest

    MartinBroadhurst wrote:
    > On Nov 8, 7:43 pm, "Jon" <> wrote:
    >>
    >> So you both don't know what a POD is either huh. The web is your
    >> friend. Look them both up unless you wanna keep misunderstanding the
    >> concepts and potentially cause others to "learn" the incorrect
    >> things.- Hide quoted text
    >>
    >>

    >
    > I do know what a POD type is, and I know what a concrete class is as
    > well. Your definition contains elements of both, but is neither.
    >


    Keep thinking that if you want to, but you are wrong.
    Jon, Nov 8, 2010
    #3
  4. Jon

    Seebs Guest

    On 2010-11-08, MartinBroadhurst <> wrote:
    > On Nov 8, 7:43?pm, "Jon" <> wrote:
    >> (technobabble worthy of the original Star Trek series)


    > Your definition contains elements of both, but is neither.


    Nietzsche said "Battle not with monsters, lest ye become a monster,
    and if you gaze into the abyss, the abyss gazes also into you."

    I think that, on consideration, you will find this quote directly
    applicable to your current circumstance with respect to "Jon".

    -s
    --
    Copyright 2010, all wrongs reversed. Peter Seebach /
    http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
    http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
    I am not speaking for my employer, although they do rent some of my opinions.
    Seebs, Nov 8, 2010
    #4
  5. On Nov 8, 7:43 pm, "Jon" <> wrote:
    >
    > >>>>> Just because you found other incorrect usages of the term doesn't
    > >>>>> make it correct. A "concrete" class in C++ is one who's object
    > >>>>> instances behave like built-in types. Such a class must include
    > >>>>> the following special member functions: a default constructor, a
    > >>>>> copy constructor, a copy-assignment operator, a destructor.

    >


    Which built-in types? Integers?

    class C
    {
    /* No need to define a default constructor; one is implicitly
    defined */
    /* No need to define a copy constructor; one is implicitly defined
    */
    /* No need to define a copy-assignment operator; one is implicitly
    defined */
    /* No need to define a destructor; one is implicitly defined */
    };

    C c1;
    C c2;
    c1 += c2; /* Damn! */

    Martin
    MartinBroadhurst, Nov 8, 2010
    #5
  6. On Nov 8, 8:25 pm, Seebs <> wrote:
    > On 2010-11-08, MartinBroadhurst <> wrote:
    >
    > > On Nov 8, 7:43?pm, "Jon" <> wrote:
    > >> (technobabble worthy of the original Star Trek series)

    > > Your definition contains elements of both, but is neither.

    >
    > Nietzsche said "Battle not with monsters, lest ye become a monster,
    > and if you gaze into the abyss, the abyss gazes also into you."
    >
    > I think that, on consideration, you will find this quote directly
    > applicable to your current circumstance with respect to "Jon".
    >


    Nietzche also said, "What, then are the ultimate truths of mankind?
    They are the *irrefutable errors*".

    Jon is aiming for irrefutable error, and his technique is coming along
    quite well, but he isn't quite there yet.

    Martin
    MartinBroadhurst, Nov 8, 2010
    #6
  7. On Nov 8, 7:43 pm, "Jon" <> wrote:
    >
    > >>>>> Just because you found other incorrect usages of the term doesn't
    > >>>>> make it correct. A "concrete" class in C++ is one who's object
    > >>>>> instances behave like built-in types. Such a class must include
    > >>>>> the following special member functions: a default constructor, a
    > >>>>> copy constructor, a copy-assignment operator, a destructor.

    >


    Jon, you're so wrong that people who are merely massively in error
    look to you for consolation.
    You're so wrong that the people of the planet Wrong have rung to say
    that they don't know you.
    You're so wrong that somewhere in Paris, there is an aluminium
    simulacrum of you; it is the SI unit of being wrong.

    Martin
    MartinBroadhurst, Nov 8, 2010
    #7
  8. Jon

    Jon Guest

    MartinBroadhurst wrote:
    > On Nov 8, 7:43 pm, "Jon" <> wrote:
    >>
    >>>>>>> Just because you found other incorrect usages of the term
    >>>>>>> doesn't make it correct. A "concrete" class in C++ is one who's
    >>>>>>> object instances behave like built-in types. Such a class must
    >>>>>>> include the following special member functions: a default
    >>>>>>> constructor, a copy constructor, a copy-assignment operator, a
    >>>>>>> destructor.

    >>

    >
    > Which built-in types? Integers?
    >
    > class C
    > {
    > /* No need to define a default constructor; one is implicitly
    > defined */
    > /* No need to define a copy constructor; one is implicitly defined
    > */
    > /* No need to define a copy-assignment operator; one is implicitly
    > defined */
    > /* No need to define a destructor; one is implicitly defined */
    > };
    >
    > C c1;
    > C c2;
    > c1 += c2; /* Damn! */
    >


    I've said all that needs to be said with "my" "definition" above. Use it
    or don't. "No skin off of my nose". *I* didn't make the definition, the
    language creators did. Take it up with them.
    Jon, Nov 8, 2010
    #8
  9. Jon

    Jon Guest

    MartinBroadhurst wrote:
    > On Nov 8, 7:43 pm, "Jon" <> wrote:
    >>
    >>>>>>> Just because you found other incorrect usages of the term
    >>>>>>> doesn't make it correct. A "concrete" class in C++ is one who's
    >>>>>>> object instances behave like built-in types. Such a class must
    >>>>>>> include the following special member functions: a default
    >>>>>>> constructor, a copy constructor, a copy-assignment operator, a
    >>>>>>> destructor.

    >>

    >
    > Which built-in types? Integers?
    >
    > class C
    > {
    > /* No need to define a default constructor; one is implicitly
    > defined */
    > /* No need to define a copy constructor; one is implicitly defined
    > */
    > /* No need to define a copy-assignment operator; one is implicitly
    > defined */
    > /* No need to define a destructor; one is implicitly defined */
    > };
    >
    > C c1;
    > C c2;
    > c1 += c2; /* Damn! */
    >


    I've said all that needs to be said with "my" "definition" above. Use it
    or don't. "No skin off of my nose". *I* didn't make the definition, the
    language creators did. Take it up with them.
    Jon, Nov 8, 2010
    #9
  10. Jon

    Jon Guest

    MartinBroadhurst wrote:
    > On Nov 8, 7:43 pm, "Jon" <> wrote:
    >>
    >>>>>>> Just because you found other incorrect usages of the term
    >>>>>>> doesn't make it correct. A "concrete" class in C++ is one who's
    >>>>>>> object instances behave like built-in types. Such a class must
    >>>>>>> include the following special member functions: a default
    >>>>>>> constructor, a copy constructor, a copy-assignment operator, a
    >>>>>>> destructor.

    >>

    >
    > Jon, you're so wrong that people who are merely massively in error
    > look to you for consolation.
    > You're so wrong that the people of the planet Wrong have rung to say
    > that they don't know you.
    > You're so wrong that somewhere in Paris, there is an aluminium
    > simulacrum of you; it is the SI unit of being wrong.
    >


    Okie dokie.
    Jon, Nov 8, 2010
    #10
  11. Jon

    Seebs Guest

    On 2010-11-08, MartinBroadhurst <> wrote:
    > Jon, you're so wrong that people who are merely massively in error
    > look to you for consolation.
    > You're so wrong that the people of the planet Wrong have rung to say
    > that they don't know you.
    > You're so wrong that somewhere in Paris, there is an aluminium
    > simulacrum of you; it is the SI unit of being wrong.


    The term is "fractally wrong":

    http://www.alphadictionary.com/blog/?p=200

    "The state of being wrong at every conceivable scale of
    resolution. That is, from a distance, a fractally wrong
    person's worldview is incorrect; and furthermore, if you
    zoom in on any small part of that person's worldview, that
    part is just as wrong as the whole worldview."

    We get a fair number of examples of them around here.

    -s
    --
    Copyright 2010, all wrongs reversed. Peter Seebach /
    http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
    http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
    I am not speaking for my employer, although they do rent some of my opinions.
    Seebs, Nov 8, 2010
    #11
  12. MartinBroadhurst <> writes:
    > On Nov 8, 7:43 pm, "Jon" <> wrote:
    >>
    >> >>>>> Just because you found other incorrect usages of the term doesn't
    >> >>>>> make it correct. A "concrete" class in C++ is one who's object
    >> >>>>> instances behave like built-in types. Such a class must include
    >> >>>>> the following special member functions: a default constructor, a
    >> >>>>> copy constructor, a copy-assignment operator, a destructor.

    >>

    >
    > Jon, you're so wrong that people who are merely massively in error
    > look to you for consolation.
    > You're so wrong that the people of the planet Wrong have rung to say
    > that they don't know you.
    > You're so wrong that somewhere in Paris, there is an aluminium
    > simulacrum of you; it is the SI unit of being wrong.


    Martin, please take this out of comp.lang.c. (I suspect the readers
    of comp.lang.c++ aren't interested either, but I won't presume to
    speak for them.)

    You are feeding a troll, and thereby acting like one yourself.

    --
    Keith Thompson (The_Other_Keith) <http://www.ghoti.net/~kst>
    Nokia
    "We must do something. This is something. Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"
    Keith Thompson, Nov 8, 2010
    #12
  13. Jon

    Ian Collins Guest

    On 11/ 9/10 10:13 AM, MartinBroadhurst wrote:
    > On Nov 8, 7:43 pm, "Jon"<> wrote:
    >>
    >>>>>>> Just because you found other incorrect usages of the term doesn't
    >>>>>>> make it correct. A "concrete" class in C++ is one who's object
    >>>>>>> instances behave like built-in types. Such a class must include
    >>>>>>> the following special member functions: a default constructor, a
    >>>>>>> copy constructor, a copy-assignment operator, a destructor.

    >>

    >
    > Jon, you're so wrong that people who are merely massively in error
    > look to you for consolation.
    > You're so wrong that the people of the planet Wrong have rung to say
    > that they don't know you.
    > You're so wrong that somewhere in Paris, there is an aluminium
    > simulacrum of you; it is the SI unit of being wrong.


    Nice imagery.

    The word "concrete" appears once in the C++ standard in the context of
    abstract base classes:

    "10.4 Abstract classes

    The abstract class mechanism supports the notion of a general concept,
    such as a shape, of which on more concrete variants, such as circle and
    square, can actually be used."

    The term is used by Stroustrup (10.3.4) to describe a class similar to
    built in types in behaviour, "to do a single, relatively small thing
    well and efficiently"

    So there isn't a formal definition of a "concrete class" in C++, just
    the notion of a simple building block type.

    --
    Ian Collins
    Ian Collins, Nov 8, 2010
    #13
  14. Jon

    red floyd Guest

    On 11/8/2010 1:13 PM, MartinBroadhurst wrote:
    > On Nov 8, 7:43 pm, "Jon"<> wrote:
    >>
    >>>>>>> Just because you found other incorrect usages of the term doesn't
    >>>>>>> make it correct. A "concrete" class in C++ is one who's object
    >>>>>>> instances behave like built-in types. Such a class must include
    >>>>>>> the following special member functions: a default constructor, a
    >>>>>>> copy constructor, a copy-assignment operator, a destructor.

    >>

    >
    > Jon, you're so wrong that people who are merely massively in error
    > look to you for consolation.
    > You're so wrong that the people of the planet Wrong have rung to say
    > that they don't know you.
    > You're so wrong that somewhere in Paris, there is an aluminium
    > simulacrum of you; it is the SI unit of being wrong.


    Obligatory XKCD.

    http://xkcd.com/386/
    red floyd, Nov 9, 2010
    #14
  15. On Nov 8, 10:28 pm, MartinBroadhurst <>
    wrote:
    >
    > class C
    > {
    >     /* No need to define a default constructor; one is implicitly
    > defined */
    >     /* No need to define a copy constructor; one is implicitly defined
    > */
    >     /* No need to define a copy-assignment operator; one is implicitly
    > defined */
    >     /* No need to define a destructor; one is implicitly defined */
    >
    > };
    >
    > C c1;
    > C c2;
    > c1 += c2; /* Damn! */
    >

    One annoying feature is that += isn't by default equivalent to x = x +
    c.
    Another more deep-seated problem, which C shares, is that there is no
    concept of "scalar". So as you add types you end up with N^2
    requirements for arithemetical-type functions.

    However you wouldn't expect arithmetical operators by default. They
    don't always makes sense.
    Malcolm McLean, Nov 9, 2010
    #15
  16. Ian Collins <> wrote:
    > The word "concrete" appears once in the C++ standard in the context of
    > abstract base classes:
    >
    > "10.4 Abstract classes
    >
    > The abstract class mechanism supports the notion of a general concept,
    > such as a shape, of which on more concrete variants, such as circle and
    > square, can actually be used."


    I understand that in this case "abstract" and "concrete" are being used
    as object-oriented programming terminology: In a (well-designed)
    inheritance hierarchy a base class represents a more abstract concept and
    a derived class represents a more concrete concept. This has nothing to do
    with dynamic bindind (ie. virtual functions in C++).

    However, the term "abstract class" is also used in C++ to describe a
    class that cannot be instantiated directly, only inherited from, because
    it has at least one pure virtual function. Likewise "concrete class" is
    one which can be instantiated directly (because of not containing pure
    virtual functions).

    Perhaps it's unfortunate that the same terms are being used for two
    different (although at some level somewhat related) things.
    Juha Nieminen, Nov 9, 2010
    #16
  17. Jon

    Noob Guest

    Someone is wrong on the internet

    red floyd wrote:

    > Obligatory XKCD.
    >
    > http://xkcd.com/386/


    One of my all-time favorites. (Because it's so true.)
    Noob, Nov 9, 2010
    #17
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    7
    Views:
    549
    Pete Becker
    Jan 25, 2008
  2. jacob navia

    New release of the C Containers Library (CCL)

    jacob navia, Oct 30, 2010, in forum: C Programming
    Replies:
    117
    Views:
    1,951
  3. jacob navia

    ccl and stl: design differences

    jacob navia, Apr 17, 2011, in forum: C Programming
    Replies:
    0
    Views:
    189
    jacob navia
    Apr 17, 2011
  4. jacob navia

    C Containers library (ccl) project

    jacob navia, Sep 22, 2012, in forum: C Programming
    Replies:
    8
    Views:
    415
    Agnos
    Oct 7, 2012
  5. Sebastian Mach
    Replies:
    5
    Views:
    309
Loading...

Share This Page