Bjarne Stroustrup (The Creator of C++): The C++ Programming Language - Third Edition

Discussion in 'C Programming' started by CoreyWhite, Mar 30, 2007.

  1. CoreyWhite

    CoreyWhite Guest

    I bought this book years ago, when I was just learning C++. Since
    then I've gone through every math course offered at my college, taken
    courses on coding C & thinking in terms how how to make the smallest
    tightest algorithms to preform specific functions. I've also grown
    and matured a lot, and am wiser and older. I'm reading through the C+
    + Programming Language, Third Edition now, and I can actually
    understand it. I can understand it because I'm already familiar with
    the language. I know how to use pointers, and know what stacks,
    templates, classes, and vectors are. I know how to use them. The
    trouble is I don't have a lot of experience using high level object
    oriented language, and haven't built any projects of my own using the
    techniques. I can see why it is a good idea to think in terms of the
    best algorithm you could use to write a program with C++. Because
    with another language like PHP you might be able to write the same
    code with just a few lines. So without all of the object oriented
    tools that seperate C++ from its predecessor, C is a dead language.
    It would take pages and pages of C to write some very simple code, and
    you would still have to understand low level binary manipulations.

    So what I am going to do is come up with a short notebook on what I
    get from reading through the C++ Programming Language, -Third
    Edition-, and explain to people why object oriented programming is the
    shit, and teach them how to use it with clear examples that illustrate
    why using vectors, templates, & classes, allow us to do so much more.
    Most of the programs will probably be basic string manipulations or
    simple algorithms that C++ has a hard time doing without object
    oriented programming. But I will try to go over some of the basics of
    C, step-by-step, and cover the useful tools that are hard to
    understand like pointers and binary operators. Some of the subtleties
    of the language, are the most useful parts of it.

    I would be interested in learning if anyone else wants to pick up the
    higher levels of C++ and work with me in this project? I know some
    people posting to comp.lang.c++ already know the language by heart,
    but I mostly work with reference books by my side. I guess there is
    an old saying: Those who can't do, TEACH!.
     
    CoreyWhite, Mar 30, 2007
    #1
    1. Advertising

  2. this was posted to the following ngs
    alt.magick,comp.lang.c++,alt.religion.wicca,alt.magick.virtual-
    adepts,comp.lang.c

    this seems an odd collection


    CoreyWhite wrote:

    <snip>

    > So without all of the object oriented
    > tools that seperate C++ from its predecessor, C is a dead language.
    > It would take pages and pages of C to write some very simple code, and
    > you would still have to understand low level binary manipulations.


    that's fighting talk in comp.lang.c!


    > So what I am going to do is come up with a short notebook on what I
    > get from reading through the C++ Programming Language, -Third
    > Edition-, and explain to people why object oriented programming is the
    > shit, and teach them how to use it with clear examples that illustrate
    > why using vectors, templates, & classes, allow us to do so much more.


    <snip>

    you should probably confine this to comp.lang.c++


    --
    Nick Keighley
     
    Nick Keighley, Mar 30, 2007
    #2
    1. Advertising

  3. Nick Keighley said:

    > this was posted to the following ngs
    > alt.magick,comp.lang.c++,alt.religion.wicca,alt.magick.virtual-
    > adepts,comp.lang.c
    >
    > this seems an odd collection


    Yes, it smells to me like some kind of bridge.

    > CoreyWhite wrote:
    >
    > <snip>
    >
    >> So without all of the object oriented
    >> tools that seperate C++ from its predecessor, C is a dead language.
    >> It would take pages and pages of C to write some very simple code,
    >> and you would still have to understand low level binary
    >> manipulations.

    >
    > that's fighting talk in comp.lang.c!


    So now it's our turn.

    >> So what I am going to do is come up with a short notebook on what I
    >> get from reading through the C++ Programming Language, -Third
    >> Edition-, and explain to people why object oriented programming is
    >> the shit, and teach them how to use it with clear examples that
    >> illustrate why using vectors, templates, & classes, allow us to do so
    >> much more.

    >
    > <snip>
    >
    > you should probably confine this to comp.lang.c++


    Either that, or remove one particular instance of "the" from the quoted
    paragraph. C programmers will have no difficulty identifying which one
    I mean.

    --
    Richard Heathfield
    "Usenet is a strange place" - dmr 29/7/1999
    http://www.cpax.org.uk
    email: rjh at the above domain, - www.
     
    Richard Heathfield, Mar 30, 2007
    #3
  4. CoreyWhite

    Bill Pursell Guest

    On 30 Mar, 16:36, Richard Heathfield <> wrote:
    > > CoreyWhite wrote:


    > >> So what I am going to do is come up with a short notebook on what I
    > >> get from reading through the C++ Programming Language, -Third
    > >> Edition-, and explain to people why object oriented programming is
    > >> the shit, and teach them how to use it with clear examples that
    > >> illustrate why using vectors, templates, & classes, allow us to do so
    > >> much more.

    <snip>
    >
    > Either that, or remove one particular instance of "the" from the quoted
    > paragraph. C programmers will have no difficulty identifying which one
    > I mean.


    I find it interesting that you would write that. In the
    past, you've stated that C++ is your 2nd favorite lanuage.
    While I have not had much joy with C++ (And in fact have
    at times used much fowl language when referring to it,
    although I'm starting to warm up to it again and have
    taken my Stroustrup down from the bookshelf), I think
    the general idea of object-oriented program is
    fantastic. It takes many of the ideas that make
    up good practices and (tries to) make them more
    accessible. Many of the practices that are encouraged
    in this newsgroup are object-oriented ideas. I find
    it annoying that the OO group have attempted (and
    largely succeeded) in claiming to own such practices, but
    the whole term "OO" is so nebulous that one never
    really knows what it refers to, anyway, but I don't
    understand the motive behind your implication.

    --
    Bill Pursell
     
    Bill Pursell, Mar 30, 2007
    #4
  5. Re: Bjarne Stroustrup (The Creator of C++): The C++ ProgrammingLanguage - Third Edition

    On Fri, 30 Mar 2007 09:43:41 -0700, Bill Pursell wrote:

    > I think the general idea of object-oriented program is fantastic.


    Good for you. I've found that it is not the silver bullet that
    many would have us believe, and that it doesn't really work well for me.
     
    Ivar Rosquist, Mar 30, 2007
    #5
  6. Bill Pursell said:

    > On 30 Mar, 16:36, Richard Heathfield <> wrote:
    >> > CoreyWhite wrote:

    >
    >> >> So what I am going to do is come up with a short notebook on what
    >> >> I get from reading through the C++ Programming Language, -Third
    >> >> Edition-, and explain to people why object oriented programming is
    >> >> the shit, and teach them how to use it with clear examples that
    >> >> illustrate why using vectors, templates, & classes, allow us to do
    >> >> so much more.

    > <snip>
    >>
    >> Either that, or remove one particular instance of "the" from the
    >> quoted paragraph. C programmers will have no difficulty identifying
    >> which one I mean.

    >
    > I find it interesting that you would write that. In the
    > past, you've stated that C++ is your 2nd favorite lanuage.


    Aye, and so it is. So what? :)

    --
    Richard Heathfield
    "Usenet is a strange place" - dmr 29/7/1999
    http://www.cpax.org.uk
    email: rjh at the above domain, - www.
     
    Richard Heathfield, Mar 30, 2007
    #6
  7. CoreyWhite

    Mike Wahler Guest

    "Bill Pursell" <> wrote in message
    news:...
    > I find it interesting that you would write that. In the
    > past, you've stated that C++ is your 2nd favorite lanuage.
    > While I have not had much joy with C++ (And in fact have
    > at times used much fowl language when referring to it,


    I've never heard anyone quack at C++ before. :)

    -Mike
     
    Mike Wahler, Mar 30, 2007
    #7
  8. CoreyWhite

    Default User Guest

    Nick Keighley wrote:

    > this was posted to the following ngs
    > alt.magick,comp.lang.c++,alt.religion.wicca,alt.magick.virtual-
    > adepts,comp.lang.c
    >
    > this seems an odd collection


    Right, which is why I have filters that ignore posts to at least some
    of those. Such cross-posts are the work of trolls.

    > that's fighting talk in comp.lang.c!


    Hence trolling.

    > you should probably confine this to comp.lang.c++


    Why, what did they ever do to you?




    Brian
     
    Default User, Mar 30, 2007
    #8
  9. Re: Bjarne Stroustrup (The Creator of C++): The C++ Programming Language- Third Edition

    Richard Heathfield wrote:
    >
    > Nick Keighley said:
    >
    > > this was posted to the following ngs
    > > alt.magick,comp.lang.c++,alt.religion.wicca,alt.magick.virtual-
    > > adepts,comp.lang.c
    > >
    > > this seems an odd collection

    >
    > Yes, it smells to me like some kind of bridge.

    [...]
    > > that's fighting talk in comp.lang.c!

    >
    > So now it's our turn.
    >

    [...]
    > >> So what I am going to do is come up with a short notebook on what I
    > >> get from reading through the C++ Programming Language, -Third
    > >> Edition-, and explain to people why object oriented programming is
    > >> the shit, and teach them how to use it with clear examples that
    > >> illustrate why using vectors, templates, & classes, allow us to do so
    > >> much more.

    > >
    > > <snip>
    > >
    > > you should probably confine this to comp.lang.c++

    >
    > Either that, or remove one particular instance of "the" from the quoted
    > paragraph. C programmers will have no difficulty identifying which one
    > I mean.


    I'm guessing:

    s/^the //

    Here's hoping further readers don't rewrap quoted text. :)

    --
    +-------------------------+--------------------+-----------------------+
    | Kenneth J. Brody | www.hvcomputer.com | #include |
    | kenbrody/at\spamcop.net | www.fptech.com | <std_disclaimer.h> |
    +-------------------------+--------------------+-----------------------+
    Don't e-mail me at: <mailto:>
     
    Kenneth Brody, Mar 30, 2007
    #9
  10. CoreyWhite

    Bill Pursell Guest

    Richard Heathfield wrote:
    > Bill Pursell said:
    > > Richard Heathfield wrote:
    > >> > CoreyWhite wrote:

    >
    > >> >> So what I am going to do is come up with a short notebook on what
    > >> >> I get from reading through the C++ Programming Language, -Third
    > >> >> Edition-, and explain to people why object oriented programming is
    > >> >> the shit, and teach them how to use it with clear examples that
    > >> >> illustrate why using vectors, templates, & classes, allow us to do
    > >> >> so much more.

    > > <snip>

    >
    > >> Either that, or remove one particular instance of "the" from the
    > >> quoted paragraph. C programmers will have no difficulty identifying
    > >> which one I mean.

    >
    > > I find it interesting that you would write that. In the
    > > past, you've stated that C++ is your 2nd favorite lanuage.

    >
    > Aye, and so it is. So what? :)


    You imply that you think "OOP is shit". Given that
    and your past statment about C++, I conclude that you
    think C++ is not an object-oriented language. Overall,
    I'm trying to understand why it is that people seem
    to have the attitude of "OOP is great, C is dead" but
    don't seem to realize that OOP is often nothing more
    than taking all the good programming practices that
    were being used by C programmers through the 80's
    and making them (arguably) easier to use. I
    respect you as a contributer to c.l.c., so I was
    hoping to get you to elaborate on your position.
    My position seems to be: "OOP is good, although the
    definition is ambiguous, but C++ is heinous, (but
    slightly less heinous than I thought 6 months ago.)"

    --
    Bill Pursell
     
    Bill Pursell, Mar 30, 2007
    #10
  11. Bill Pursell said:

    > [...] I conclude that you
    > think C++ is not an object-oriented language.


    "I invented the term Object-Oriented, and I can tell you I did not have
    C++ in mind." - attr Alan Kay

    Nevertheless, C++ does provide a certain amount of support for OOP.

    > Overall,
    > I'm trying to understand why it is that people seem
    > to have the attitude of "OOP is great, C is dead" but
    > don't seem to realize that OOP is often nothing more
    > than taking all the good programming practices that
    > were being used by C programmers through the 80's
    > and making them (arguably) easier to use. I
    > respect you as a contributer to c.l.c., so I was
    > hoping to get you to elaborate on your position.


    Gladly. Here's a quote from my Web site:

    *** begin quote ***

    Ada. APL. Assembly language. B. Basic. BCPL. C. C+. C++. C#. COBOL. D.
    Forth. Fortran. Haskell. Java. Lisp. Logo. Pascal. Perl. Prolog.
    Python. Scheme. SNOBOL.

    Is your favourite language mentioned in that list? If so, are you
    feeling smug? Or if not, are you outraged?

    There are, quite literally, thousands of computer programming languages,
    and it seems that every single one has more than its fair share of
    passionate advocates. Whichever language you are using, you will
    generally find far more people telling you that your choice was wrong,
    than people who will agree that you made a reasonable decision to use
    that language.

    C diehards (er, like me!) will give you several excellent reasons why C
    should be your language of choice. C++ aficionados will be just as
    persuasive about C++, and often disparaging about C (they call it "a
    better C"; I'd be happier if they called it "a different C", but of
    course they don't). Ada lovers will typically look down their noses on
    both the C and the C++ camp. Visual Basic programmers don't understand
    what the fuss is about, since it's quite obvious to them that you can
    do anything you need to do in straight VB code. And there's always some
    smart alec who'll point out that using such high level languages can
    only lead to code bloat and runtime inefficiency; assembly language is
    the only way to go. COBOL programmers will then point out that the
    whole point of COBOL is that you don't have to use assembly language.
    And then the Pascal programmers will retort that the whole idea of
    Pascal is that you don't have to use COBOL. Fans of functional
    languages such as Lisp will then say that, if you haven't programmed
    functionally, you haven't really understood programming at all!

    Why are we so passionate about our choice of computer programming
    language? Do other professions suffer from the same damaging
    phenomenon? Can we imagine builders arguing about hammers? Or plumbers
    arguing about wrenches?

    The answer probably lies in the close relationship between language and
    thought. Language doesn't just enable us to express ourselves. It also,
    to a very large extent, controls and limits the ways in which we can
    think. It is almost impossible to think like a Spaniard, for example,
    unless you happen to be Spanish (or, at the very least, to speak
    Spanish very fluently indeed). And because Spaniards cannot, on the
    whole, imagine with any accuracy what it is like to be non-Spanish,
    they are likely to conclude that being Spanish is the best way to be.
    (There is nothing special about Spaniards in this regard, of course --
    I could have chosen any nation on the planet for the purposes of the
    example.)

    And so it is with computer programming languages. For a start, a
    programmer who "speaks" only one programming language is likely, in the
    medium term, to have his thought processes so moulded, so shaped, by
    that language that he finds it hard to imagine that there are other
    ways to program; and, if there are other ways, well, they must surely
    be inferior, mustn't they?

    But this is a very limiting way to look at programming languages. A
    programmer who has taken the very sensible course of learning several
    programming languages is in a much better position to judge between
    them. And yet, curiously, such programmers tend to be dispassionate
    and, dare I say, rational about language choice. For them, the sensible
    thing to do is to choose the language that best fits the problem
    domain.

    For example, consider a programmer who is fluent in C, has adequate C++,
    and can boast a smattering of COBOL, assembly language, and Visual
    Basic. He is asked to write a program to check documents, presented as
    text files, for heavily-used phrases (perhaps he works in a publishing
    house, and the program is intended to help authors to identify clichés
    in their books; as we all know, clichés are a Bad Thing, and good
    writers avoid them like the plague).

    Since no platform was mentioned, the programmer may reject Visual Basic
    out of hand (since he can't guarantee that his program will be run
    under the Windows operating system). Similar considerations, and the
    sheer amount of work it would involve, lead him to reject assembly
    language too. COBOL isn't terribly well-designed for such a task, so he
    is left with C or C++. His fluency in C might lead him to favour that
    option at first, but on reflection he will realise that C++'s STL will
    literally turn this task into a one-hour job at the most, and possibly
    a much shorter time need be spent. That doesn't mean C++ is the right
    choice for all tasks. But he may well conclude that it's the right
    language for this task.

    He will also be wise enough to recognise that there may well be
    languages which are better suited to the task, but he will rightly
    decide that, at least for the time being, it'd be quicker to use a
    slightly less suitable language that one knows than to spend the time
    learning a completely new language, and then still have to invest yet
    more time in writing the program itself in that language (and writing
    programs in a language you don't know very well is almost bound to take
    longer than writing the same programs in a language that you do know).

    If he is very wise indeed, he will make a point of learning that other
    language anyway (perhaps once he's finished his current task), so that
    the next time such a task is presented to him, he'll be ready.

    There are so many different languages because there are so many
    different ways to think about programming. The language that is most
    right for me may not be the language that is most right for you. So
    what right have I to tell you what language to use? And what right do
    you have to tell me what language to use? None whatsoever, right?

    So please, let's have a little sanity when it comes to language wars.
    Just remember that one man's meat is another man's poison. Cultural
    diversity is just as important and rewarding in programming as it is in
    other aspects of our existence here on Earth. Our time here is not so
    protracted that we can afford to waste any of it insisting that other
    people should change their way of thinking just because we are too lazy
    to change ours.

    Use C. There's no better language. :)

    *** end quote ***

    > My position seems to be: "OOP is good, although the
    > definition is ambiguous, but C++ is heinous, (but
    > slightly less heinous than I thought 6 months ago.)"


    C++ is a reasonable language, albeit very complicated. The mistake many
    people make is in thinking you have to program it the way the C++ fans
    do. You don't. It's much more flexible than that. You can program it
    any way you please (within the bounds of syntax, semantics, and a
    smattering of common sense). And that's one thing I admire about C++.

    --
    Richard Heathfield
    "Usenet is a strange place" - dmr 29/7/1999
    http://www.cpax.org.uk
    email: rjh at the above domain, - www.
     
    Richard Heathfield, Mar 30, 2007
    #11
  12. CoreyWhite

    CBFalconer Guest

    Re: Bjarne Stroustrup (The Creator of C++): The C++ Programming Language- Third Edition

    Mike Wahler wrote:
    > "Bill Pursell" <> wrote in message
    >
    >> I find it interesting that you would write that. In the
    >> past, you've stated that C++ is your 2nd favorite lanuage.
    >> While I have not had much joy with C++ (And in fact have
    >> at times used much fowl language when referring to it,

    >
    > I've never heard anyone quack at C++ before. :)


    I believe he is intimating it is for the birds.

    --
    Chuck F (cbfalconer at maineline dot net)
    Available for consulting/temporary embedded and systems.
    <http://cbfalconer.home.att.net>


    --
    Posted via a free Usenet account from http://www.teranews.com
     
    CBFalconer, Mar 31, 2007
    #12
  13. Richard Heathfield wrote:

    > Why are we so passionate about our choice of computer programming
    > language?


    People that writes messages in language flame wars and in cross-posted
    threads between several language groups usually are. People that are not so
    passionate just ignore those discussions.

    --
    Salu2
     
    =?ISO-8859-15?Q?Juli=E1n?= Albo, Mar 31, 2007
    #13
  14. CoreyWhite

    Jack Klein Guest

    On 30 Mar 2007 08:31:50 -0700, "Nick Keighley"
    <> wrote in comp.lang.c:

    > this was posted to the following ngs
    > alt.magick,comp.lang.c++,alt.religion.wicca,alt.magick.virtual-
    > adepts,comp.lang.c
    >
    > this seems an odd collection


    **** PLEASE DON'T FEED TROLLS *****

    Many of us kill-filtered this troll long ago, and would not see him at
    all if people like you and Walter Roberson did not rise to the bait
    and reply.

    --
    Jack Klein
    Home: http://JK-Technology.Com
    FAQs for
    comp.lang.c http://c-faq.com/
    comp.lang.c++ http://www.parashift.com/c -faq-lite/
    alt.comp.lang.learn.c-c++
    http://www.club.cc.cmu.edu/~ajo/docs/FAQ-acllc.html
     
    Jack Klein, Mar 31, 2007
    #14
  15. CoreyWhite

    Jorgen Grahn Guest

    ["Followup-To:" header set to comp.lang.c++.]
    On 30 Mar 2007 09:43:41 -0700, Bill Pursell <> wrote:
    ....
    > While I have not had much joy with C++ (And in fact have
    > at times used much fowl language when referring to it,
    > although I'm starting to warm up to it again and have
    > taken my Stroustrup down from the bookshelf), I think
    > the general idea of object-oriented program is
    > fantastic.


    Yes, but note that C++ isn't just about object-oriented programming.
    You can hack C++ all day long without implementing a single class, and
    still benefit from things like the type system, the standard library,
    namespaces, templates and so on.

    One of the last chapters of your copy of Stroustrup's book discusses
    this well -- in a way that IMHO shouldn't offend seasoned C
    programmers.

    /Jorgen

    --
    // Jorgen Grahn <grahn@ Ph'nglui mglw'nafh Cthulhu
    \X/ snipabacken.dyndns.org> R'lyeh wgah'nagl fhtagn!
     
    Jorgen Grahn, Mar 31, 2007
    #15
  16. CoreyWhite

    Guest

    On Mar 30, 8:29 am, "CoreyWhite" <> wrote:
    > I bought this book years ago, when I was just learning C++. Since
    > then I've gone through every math course offered at my college, taken
    > courses on coding C & thinking in terms how how to make the smallest
    > tightest algorithms to preform specific functions. I've also grown
    > and matured a lot, and am wiser and older. I'm reading through the C+
    > + Programming Language, Third Edition now, and I can actually
    > understand it. I can understand it because I'm already familiar with
    > the language. I know how to use pointers, and know what stacks,
    > templates, classes, and vectors are. I know how to use them. The
    > trouble is I don't have a lot of experience using high level object
    > oriented language, and haven't built any projects of my own using the
    > techniques. I can see why it is a good idea to think in terms of the
    > best algorithm you could use to write a program with C++. Because
    > with another language like PHP you might be able to write the same
    > code with just a few lines. So without all of the object oriented
    > tools that seperate C++ from its predecessor, C is a dead language.
    > It would take pages and pages of C to write some very simple code, and
    > you would still have to understand low level binary manipulations.
    >
    > So what I am going to do is come up with a short notebook on what I
    > get from reading through the C++ Programming Language, -Third
    > Edition-, and explain to people why object oriented programming is the
    > shit, and teach them how to use it with clear examples that illustrate
    > why using vectors, templates, & classes, allow us to do so much more.
    > Most of the programs will probably be basic string manipulations or
    > simple algorithms that C++ has a hard time doing without object
    > oriented programming. But I will try to go over some of the basics of
    > C, step-by-step, and cover the useful tools that are hard to
    > understand like pointers and binary operators. Some of the subtleties
    > of the language, are the most useful parts of it.
    >
    > I would be interested in learning if anyone else wants to pick up the
    > higher levels of C++ and work with me in this project? I know some
    > people posting to comp.lang.c++ already know the language by heart,
    > but I mostly work with reference books by my side. I guess there is
    > an old saying: Those who can't do, TEACH!.


    if you really want to learn about the abilities of C++ and OOP I would
    recomend "C++ Templates the complete guide", the Gang of Four Book
    "Design Patterns" and "Modern C++ Design Patters"

    I those first as a beginner, then "The C++ Lang", then the
    formentioned once again.
    I found that as I gained experience, I was able to get more out of the
    books.

    I have not done any straight C programming and wonder myself if i
    should learn it to augment my C++ knowledge. I am thinking in terms
    of learning the lower level control of the subsystems or foundational
    blocks for ths STL, or more so in writing more efficent code without
    the overhead of STL calls( or are they all that expensive ), but more
    so the dynamic calls.

    You might find combinding Templates and Virtualism can do some very
    interesting things, but if you need a codebase that runs within a
    certain amount of time perhaps by request of a customer, that you have
    to go back to the basics...

    So should I learn C, and is there a book/reference that is more geared
    towards the C++ programmer trying to learn C. On the opposite side...
    Thinking in C++ Vol1&2 are geared towards C to C++, and a great
    companion reading for the "C++ Lang" did a better job of explaining
    why C++ was designed the way it was from C
     
    , Apr 1, 2007
    #16
    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. E. Robert Tisdale

    The C Programming Language: Third Edition

    E. Robert Tisdale, Feb 24, 2005, in forum: C Programming
    Replies:
    4
    Views:
    321
    Michael Mair
    Feb 25, 2005
  2. Replies:
    3
    Views:
    502
    Puppet_Sock
    Jun 21, 2006
  3. Mike
    Replies:
    1
    Views:
    321
    F.J.K.
    Sep 20, 2006
  4. CoreyWhite
    Replies:
    17
    Views:
    600
  5. Rakesh UV
    Replies:
    2
    Views:
    468
Loading...

Share This Page