Book on C++11.

Discussion in 'C++' started by Srinivas Nayak, Jun 16, 2012.

  1. Hi,

    Is there a book on C++11 ?

    2nd edition of "Thinking in c++" was published on 2000.
    Is there any new edition of this book coming in near future with C++11?

    Sincerely,
    Srinivas
    Srinivas Nayak, Jun 16, 2012
    #1
    1. Advertising

  2. Srinivas Nayak

    jjtf Guest

    On Saturday, June 16, 2012 6:38:58 AM UTC-5, Srinivas Nayak wrote:
    > Hi,
    >
    > Is there a book on C++11 ?
    >
    > 2nd edition of "Thinking in c++" was published on 2000.
    > Is there any new edition of this book coming in near future with C++11?
    >
    > Sincerely,
    > Srinivas


    I have a related question.

    Should I bother learning c++ 11 if I'm learning C++ to get in to the programming
    field. Will big C++ 03 projects continue to hire or is C++11 suddenly in demand?

    I'm considering just picking up the books in the FAQ because they're cheap and effective, despite being outdated by the new standard.
    jjtf, Jun 17, 2012
    #2
    1. Advertising

  3. Srinivas Nayak

    Pavel Guest

    jjtf wrote:
    > On Saturday, June 16, 2012 6:38:58 AM UTC-5, Srinivas Nayak wrote:
    >> Hi,
    >>
    >> Is there a book on C++11 ?
    >>
    >> 2nd edition of "Thinking in c++" was published on 2000.
    >> Is there any new edition of this book coming in near future with C++11?
    >>
    >> Sincerely,
    >> Srinivas

    >
    > I have a related question.
    >
    > Should I bother learning c++ 11 if I'm learning C++ to get in to the programming
    > field.
    > Will big C++ 03 projects continue to hire or is C++11 suddenly in demand?

    The answer probably most depends on your timing for entering the market. Right
    now, a mid-to-big size company I work for does not use C++11 or asks
    C++11-specific questions at the interviews. You would not miss a point saying
    you have not had a chance to work in C++11. Some awareness about useful C++11
    features (just being able to legibly explain what's good about them) might be a
    (really small) "plus".

    I speculate this will stay so for a couple of years; then this might start
    gradually change. Smaller companies may start using C++11 faster. The keyword
    here is "start": tons of 1998- and 2003- compliant code are probably bound to be
    written for many years and to stay around and to be maintained for decades.

    > I'm considering just picking up the books in the FAQ because they're cheap and effective, despite being outdated by the new standard.

    What I pay most attention to are the focus, software design, problem solving and
    practical coding skills and common sense. I bet you won't waste your time
    concentrating on these instead of syntactic peculiarities you have never used --
    just be honest and upfront about it during your interviews.

    For the books, apart from generally solid FAQ recommendations, "Thinking in..."
    should be just fine; for something more C++-ish and modern (not yet 11-ish), try
    "Modern C++ Design" by Andrei Alecsandrescu -- just do not jump into applying
    Loki to all seemingly appropriate problems without giving it a good second (or
    third) thought.

    Also, IMHO reading an important piece of source code (e.g. that of a modern
    version of C++ Standard Library) can be more instructive than reading a good book.

    -HTH
    Pavel
    Pavel, Jun 17, 2012
    #3
  4. Srinivas Nayak

    Jorgen Grahn Guest

    On Sun, 2012-06-17, Pavel wrote:
    > jjtf wrote:

    ....
    >> I have a related question.
    >>
    >> Should I bother learning c++ 11 if I'm learning C++ to get in to the programming
    >> field. Will big C++ 03 projects continue to hire or is C++11 suddenly in demand?


    > The answer probably most depends on your timing for entering the market. Right
    > now, a mid-to-big size company I work for does not use C++11 or asks
    > C++11-specific questions at the interviews. You would not miss a point saying
    > you have not had a chance to work in C++11. Some awareness about useful C++11
    > features (just being able to legibly explain what's good about them) might be a
    > (really small) "plus".


    I'd think it would be a real plus, but only because it shows you're
    keeping up with what's happening. On the other hand lots of people are
    doing that -- C++11 got lots of media attention.

    > What I pay most attention to are the focus, software design, problem solving and
    > practical coding skills and common sense. I bet you won't waste your time
    > concentrating on these instead of syntactic peculiarities you have never used --
    > just be honest and upfront about it during your interviews.


    Good advice.

    ....
    > Also, IMHO reading an important piece of source code (e.g. that of a modern
    > version of C++ Standard Library) can be more instructive than reading a good book.


    You need to do both. Not sure reading the STL is the best thing you
    can do though -- general-purpose libraries are very unlike the code
    you'll spend most of your time reading and writing.

    /Jorgen

    --
    // Jorgen Grahn <grahn@ Oo o. . .
    \X/ snipabacken.se> O o .
    Jorgen Grahn, Jun 17, 2012
    #4
  5. Srinivas Nayak

    Pavel Guest

    Jorgen Grahn wrote:
    > On Sun, 2012-06-17, Pavel wrote:
    >> jjtf wrote:

    > ...
    >>> I have a related question.
    >>>
    >>> Should I bother learning c++ 11 if I'm learning C++ to get in to the programming
    >>> field. Will big C++ 03 projects continue to hire or is C++11 suddenly in demand?

    >
    >> The answer probably most depends on your timing for entering the market. Right
    >> now, a mid-to-big size company I work for does not use C++11 or asks
    >> C++11-specific questions at the interviews. You would not miss a point saying
    >> you have not had a chance to work in C++11. Some awareness about useful C++11
    >> features (just being able to legibly explain what's good about them) might be a
    >> (really small) "plus".

    >
    > I'd think it would be a real plus, but only because it shows you're
    > keeping up with what's happening. On the other hand lots of people are
    > doing that -- C++11 got lots of media attention.
    >
    >> What I pay most attention to are the focus, software design, problem solving and
    >> practical coding skills and common sense. I bet you won't waste your time
    >> concentrating on these instead of syntactic peculiarities you have never used --
    >> just be honest and upfront about it during your interviews.

    >
    > Good advice.
    >
    > ...
    >> Also, IMHO reading an important piece of source code (e.g. that of a modern
    >> version of C++ Standard Library) can be more instructive than reading a good book.

    >
    > You need to do both. Not sure reading the STL is the best thing you
    > can do though -- general-purpose libraries are very unlike the code
    > you'll spend most of your time reading and writing.

    Yes, the domain one will work for will probably be different but this does not
    make this code less instructive. In my experience, the source code of STL in
    particular is one of the best exposures of non-obvious issues one would face to
    efficiently implement seemingly straightforward specifications in C++.

    STL API is relatively simple but an efficient implementation uses many more
    standard C++ features and implementation-specific extensions than typical
    small-scale STL client code (let alone a collection of examples). Carefully
    studying why this or that feature was used helps understand why those more
    complex features were defined as they were and where they were either
    insufficient or inconvenient enough for the library author to use extensions. A
    modern version may also give an idea how new C++11 features can be useful (e.g.
    see usage of GNU __alignof__ extension in GNU STL that can be replaced by the
    standard alignof operator in C++11).

    The added advantage of reading STL code is deeper understanding STL specs. The
    reader would probably have some initial idea and, as s/he oceeds, s/he will
    learn the details s/he will apply when using STL later and get an idea why the
    specs are what they are.

    >
    > /Jorgen
    >



    -Pavel
    Pavel, Jun 17, 2012
    #5
  6. Srinivas Nayak

    Jorgen Grahn Guest

    On Sun, 2012-06-17, Pavel wrote:
    > Jorgen Grahn wrote:
    >> On Sun, 2012-06-17, Pavel wrote:
    >>> Also, IMHO reading an important piece of source code (e.g. that of a modern
    >>> version of C++ Standard Library) can be more instructive than reading a good book.

    >>
    >> You need to do both. Not sure reading the STL is the best thing you
    >> can do though -- general-purpose libraries are very unlike the code
    >> you'll spend most of your time reading and writing.


    > Yes, the domain one will work for will probably be different but this does not
    > make this code less instructive. In my experience, the source code of STL in
    > particular is one of the best exposures of non-obvious issues one would face to
    > efficiently implement seemingly straightforward specifications in C++.


    I agree reading it is useful. But you don't get this from it: the
    mapping from a concrete typical real-world problem into a (probably
    object-oriented) design, and the mapping of that into C++ code.

    STL *does* solve a real-world problem, but an unusual one: to provide
    efficient general-purpose containers and algorithms which will suit
    almost all needs.

    /Jorgen

    --
    // Jorgen Grahn <grahn@ Oo o. . .
    \X/ snipabacken.se> O o .
    Jorgen Grahn, Jun 18, 2012
    #6
  7. Srinivas Nayak

    Pavel Guest

    Jorgen Grahn wrote:
    > On Sun, 2012-06-17, Pavel wrote:
    >> Jorgen Grahn wrote:
    >>> On Sun, 2012-06-17, Pavel wrote:
    >>>> Also, IMHO reading an important piece of source code (e.g. that of a modern
    >>>> version of C++ Standard Library) can be more instructive than reading a good book.
    >>>
    >>> You need to do both. Not sure reading the STL is the best thing you
    >>> can do though -- general-purpose libraries are very unlike the code
    >>> you'll spend most of your time reading and writing.

    >
    >> Yes, the domain one will work for will probably be different but this does not
    >> make this code less instructive. In my experience, the source code of STL in
    >> particular is one of the best exposures of non-obvious issues one would face to
    >> efficiently implement seemingly straightforward specifications in C++.

    >
    > I agree reading it is useful. But you don't get this from it: the
    > mapping from a concrete typical real-world problem into a (probably
    > object-oriented) design, and the mapping of that into C++ code.

    Oh, yes, I most certainly agree STL does not provide much insights to
    OOA&D-in-C++. Some other Standard C++ Library facilities, like streambuf
    hierarchy, do more of it -- but I am far from calling streambuf a good OOA&D
    example.

    IMO the main benefit from Standard Library code reading is learning the language
    features and their application to low-level problems rather than developing
    one's design-at-large skills. STL, however, provides an example of good design
    as an additional benefit even though it does not use many OO techniques. I have
    to admit I don't really know whether STL is technically OO or not: on one hand,
    it has classes and achieves main goals of a good OO design, such as loose
    coupling and high cohesion; on the other, it does not use virtual functions,
    is-a type of inheritance etc. I am not crazy about pigeon-holing so I won't lose
    my sleep about this question.

    >
    > STL *does* solve a real-world problem, but an unusual one: to provide
    > efficient general-purpose containers and algorithms which will suit
    > almost all needs.
    >
    > /Jorgen
    >



    -Pavel
    Pavel, Jun 18, 2012
    #7
  8. Srinivas Nayak

    Rui Maciel Guest

    jjtf wrote:

    > I have a related question.
    >
    > Should I bother learning c++ 11 if I'm learning C++ to get in to the
    > programming field. Will big C++ 03 projects continue to hire or is C++11
    > suddenly in demand?


    It should be pointed out that C++11 is essentially a superset of C++03.
    This means that learning C++11 is essentially the same thing as learning
    C++03 along with a number of additional features. So, there is no reason to
    place yourself in a spot where you believe you should pick one or the other.

    In practical terms, it's probably a good idea to focus on C++03, simply
    because it's something that you need to do anyway (being a subset of C++11),
    and as it is expected that it will take some time before C++11-compliant
    compilers have become widely adopted.

    In addition, there is obviously more software out there that doesn't use
    C++11 features than the one that does.

    Nevertheless, some C++11 features are terribly easy to pick up, and some
    were even already available through non-standard components. This means
    that there is essentially no excuse to avoid learning them. For example,
    range-based for loops, nullptr and using >> in nested templates definitions
    are picked up without any problem, as is using override and final in member
    function declarations. Even if you don't use C++11's std::tuple and
    std::array, there is always boost's version.

    So, in short, although it might be preferable to focus for now on C++11's
    C++03 subset, you are doing yourself a disservice if you intentionally avoid
    getting acquainted with the C++11 goodies.


    Rui Maciel
    Rui Maciel, Jun 18, 2012
    #8
  9. Srinivas Nayak

    Rui Maciel Guest

    Pavel wrote:

    > Also, IMHO reading an important piece of source code (e.g. that of a
    > modern version of C++ Standard Library) can be more instructive than
    > reading a good book.


    That really depends on the source code and the reader's background. For
    example, if a reader isn't acquainted with design patterns then, when
    reading source code where design patterns are implemented, some details will
    either appear terribly convoluted or even won't even be noticed at all. And
    let's not even talk about template metaprogramming. Some of the stuff out
    there, even the basic stuff, tends to be a bit mind-blowing if a reader
    doesn't know what he is looking at.


    Rui Maciel
    Rui Maciel, Jun 18, 2012
    #9
  10. Srinivas Nayak

    Pavel Guest

    Rui Maciel wrote:
    > Pavel wrote:
    >
    >> Also, IMHO reading an important piece of source code (e.g. that of a
    >> modern version of C++ Standard Library) can be more instructive than
    >> reading a good book.

    >
    > That really depends on the source code and the reader's background. For
    > example, if a reader isn't acquainted with design patterns then, when
    > reading source code where design patterns are implemented, some details will
    > either appear terribly convoluted or even won't even be noticed at all. And
    > let's not even talk about template metaprogramming. Some of the stuff out
    > there, even the basic stuff, tends to be a bit mind-blowing if a reader
    > doesn't know what he is looking at.

    True. One reason I believe the C++ Standard Library code is worth reading is
    exactly that the reader would now what he is looking at because the purpose of
    every exposed API feature is well-documented and it has to be well understood by
    the learner anyway. That is, even if he does not know some of it, it's never
    waste of his time to read more of the Standard Library specs and learn.

    >
    >
    > Rui Maciel
    >



    -Pavel
    Pavel, Jun 18, 2012
    #10
  11. Srinivas Nayak

    Rui Maciel Guest

    Pavel wrote:

    > Yes, the domain one will work for will probably be different but this does
    > not make this code less instructive. In my experience, the source code of
    > STL in particular is one of the best exposures of non-obvious issues one
    > would face to efficiently implement seemingly straightforward
    > specifications in C++.
    >
    > STL API is relatively simple but an efficient implementation uses many
    > more standard C++ features and implementation-specific extensions than
    > typical small-scale STL client code (let alone a collection of examples).
    > Carefully studying why this or that feature was used helps understand why
    > those more complex features were defined as they were and where they were
    > either insufficient or inconvenient enough for the library author to use
    > extensions. A modern version may also give an idea how new C++11 features
    > can be useful (e.g. see usage of GNU __alignof__ extension in GNU STL that
    > can be replaced by the standard alignof operator in C++11).
    >
    > The added advantage of reading STL code is deeper understanding STL specs.
    > The reader would probably have some initial idea and, as s/he oceeds, s/he
    > will learn the details s/he will apply when using STL later and get an
    > idea why the specs are what they are.


    Isn't this discussion about introducing a newbie to C++? It seems rather
    harsh and counterproductive to tell a newbie to go from writing his first
    "hello, world" program to reading the STL source. This looks like an
    effective way to drive the newbie *away* from C++.


    Rui Maciel
    Rui Maciel, Jun 18, 2012
    #11
  12. Srinivas Nayak

    Pavel Guest

    Rui Maciel wrote:
    > Pavel wrote:
    >
    >> Yes, the domain one will work for will probably be different but this does
    >> not make this code less instructive. In my experience, the source code of
    >> STL in particular is one of the best exposures of non-obvious issues one
    >> would face to efficiently implement seemingly straightforward
    >> specifications in C++.
    >>
    >> STL API is relatively simple but an efficient implementation uses many
    >> more standard C++ features and implementation-specific extensions than
    >> typical small-scale STL client code (let alone a collection of examples).
    >> Carefully studying why this or that feature was used helps understand why
    >> those more complex features were defined as they were and where they were
    >> either insufficient or inconvenient enough for the library author to use
    >> extensions. A modern version may also give an idea how new C++11 features
    >> can be useful (e.g. see usage of GNU __alignof__ extension in GNU STL that
    >> can be replaced by the standard alignof operator in C++11).
    >>
    >> The added advantage of reading STL code is deeper understanding STL specs.
    >> The reader would probably have some initial idea and, as s/he oceeds, s/he
    >> will learn the details s/he will apply when using STL later and get an
    >> idea why the specs are what they are.

    >
    > Isn't this discussion about introducing a newbie to C++? It seems rather
    > harsh and counterproductive to tell a newbie to go from writing his first
    > "hello, world" program to reading the STL source. This looks like an
    > effective way to drive the newbie *away* from C++.

    Well, my understanding is that his goal is to get hired for a big C++ project?
    He certainly would not ask for a book if he was a sophomore or similar -- his
    college professor would have told him what to read then.

    He has to be able to do at least some practical programming much beyond hello
    world and read some code which I suspect will be much less readable than that of
    STL to be useful on a big C++ project.

    >
    >
    > Rui Maciel


    -Pavel
    Pavel, Jun 18, 2012
    #12
  13. On Saturday, 16 June 2012 17:08:58 UTC+5:30, Srinivas Nayak wrote:
    > Hi,
    >
    > Is there a book on C++11 ?
    >
    > 2nd edition of "Thinking in c++" was published on 2000.
    > Is there any new edition of this book coming in near future with C++11?
    >
    > Sincerely,
    > Srinivas



    I am sorry that, my idea behind asking this question was not so clear.

    I meant, which book I should purchase, that will give me,
    1. a good treatment of concepts of C++, comprehensive and easy understanding.
    2. all of C++ in the same book. (then I won't need to buy another book immediately after 6-12 mnths)
    3. not written in standard/legal language (like in Stroustrup's book...)
    4. should be applicable for beginners to advanced level, not directly staring with STL...

    After a lot of search, I agreed with "Thinking in C++", though Lippman's "C++ Primer" is good one, its 4th edition is emphasizing more on STL and template based coding, which I think is difficult for beginners.

    With another small thought, I posted the query.
    Since the 2nd edition of "Thinking in C++" was out on 2000, it is by now 12 years old. So, if there is a new edition of "Thinking in C++" is coming with C++11, then it would be better to buy.
    Srinivas Nayak, Jun 18, 2012
    #13
  14. Srinivas Nayak

    Guest

    On Sunday, June 17, 2012 12:07:31 PM UTC-5, jjtf wrote:
    >
    > I have a related question.
    >
    > Should I bother learning c++ 11 if I'm learning C++ to get in to the programming
    > field. Will big C++ 03 projects continue to hire or is C++11 suddenly in demand?
    >
    > I'm considering just picking up the books in the FAQ because they're cheap and effective, despite being outdated by the new standard.


    C++ 2011 has been in the making for a number of years
    so if you haven't started learning it yet, now would
    be a good time. I'm not sure how much demand there is
    for C++ 2011, but I haven't heard much criticism of the
    new standard other than it being very slow in the making.


    Shalom,
    Brian
    Ebenezer Enterprises
    http://webEbenezer.net
    , Jun 18, 2012
    #14
  15. Srinivas Nayak

    Guest

    On Sunday, June 17, 2012 10:07:31 AM UTC-7, jjtf wrote:
    > Should I bother learning c++ 11 if I'm learning C++ to get in to the programming
    > field. Will big C++ 03 projects continue to hire or is C++11 suddenly in demand?


    C++11 is where the future is headed.
    , Jul 12, 2012
    #15
  16. Srinivas Nayak

    mike myers Guest

    mike myers, Jul 19, 2012
    #16
  17. Srinivas Nayak

    Guest

    I have been reading Professional C++ 2nd edition and have been liking it. It covers all the C++11 features, as well as standard libraries, STL, threading, etc. However this book covers more than just C++ syntax, and really its focus is on Software Engineering using C++. If you're just looking for abook on syntax there is also C++ Primer Plus 6th edition. I haven't reallyread it myself, but I've heard it's not as good as the similarly named C++Primer. If you're willing to wait, there is a new 5th edition of C++ Primer coming out in August that will cover C++11 extensively.

    Hope that helps.
    , Jul 20, 2012
    #17
  18. Srinivas Nayak

    none Guest

    In article <4fde8274$0$28811$c3e8da3$>,
    Pavel <> wrote:
    >Rui Maciel wrote:
    >>
    >> Isn't this discussion about introducing a newbie to C++? It seems rather
    >> harsh and counterproductive to tell a newbie to go from writing his first
    >> "hello, world" program to reading the STL source. This looks like an
    >> effective way to drive the newbie *away* from C++.

    >Well, my understanding is that his goal is to get hired for a big C++ project?
    >He certainly would not ask for a book if he was a sophomore or similar -- his
    >college professor would have told him what to read then.
    >
    >He has to be able to do at least some practical programming much beyond hello
    >world and read some code which I suspect will be much less readable than that of
    >STL to be useful on a big C++ project.


    If I interview a candidate for C++ prgramming, I will query if he
    knows how to use the STL, not if he knows how to implement it.

    A good understanding Meyer, Sutter, Josuttis will be needed for the
    interview. A good understanding of STL implementation is more likely
    optional unless I am looking for something extremely specific.
    none, Jul 20, 2012
    #18
  19. Srinivas Nayak

    Guest

    The book : "Foundation of Algorithms in C++11, Volume 1: Using and Extending C++11, Boost and Beyond[paperback]": is now available at amazon:

    http://www.amazon.com/Foundation-Al...ds=foundation of algorithms in c 11 volume 1

    Table of Contents : http://www.algocoders.com/sites/default/files/toc1.pdf
    Sample Chapter 1 : http://www.algocoders.com/sites/default/files/1.pdf

    For more information, please visit the link below:
    http://algocoders.com/article/books

    Cheers,
    Algocoders
    http://www.algocoders.com
    , Dec 18, 2012
    #19
    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. SStory

    Re: book advice

    SStory, Jul 6, 2003, in forum: ASP .Net
    Replies:
    0
    Views:
    981
    SStory
    Jul 6, 2003
  2. Lenny

    Re: book advice

    Lenny, Jul 6, 2003, in forum: ASP .Net
    Replies:
    1
    Views:
    938
    SStory
    Jul 6, 2003
  3. Thanasis \(sch\)

    awt book+java animation book

    Thanasis \(sch\), Oct 13, 2004, in forum: Java
    Replies:
    1
    Views:
    599
    Alex Hunsley
    Oct 14, 2004
  4. coltrane
    Replies:
    2
    Views:
    480
    coltrane
    Sep 27, 2006
  5. Gio

    Puzzle Book & Answer Book

    Gio, Apr 17, 2008, in forum: C Programming
    Replies:
    1
    Views:
    397
    santosh
    Apr 17, 2008
Loading...

Share This Page