I don't know why C++ is much hated when all the big applications at amazon, google, microsoft, adobe, apple are written in C++. I think it's the best practical language for good scalable applications.
That's debatable. It is, however, the most widely known language (besides maybe java?) that you can write the types of applications that C++ is used for in.
You can see my comment below for a short list. Art of the Start is a great place to begin. It covers everything with a very pragmatic approach and is very easy to read. "The Power of Unfair Advantage" is a great book that I don't often hear people talking about. I just don't think it's that well known. I highly recommend it.