C++ is one of those languages you can always learn more. If you want to dig deeper in C++ then you should read "Effective C++", "More Effective C++", and "Effective Modern C++" all by Scott Meyers.
I think it depends on the purpose. If you wanted to land jobs in some big companies, I would highly recommend ''Cracking the Coding Interview" by McDowell. If you wanted to learn python just for fun and maybe improve your CV, I would just recommend going through some online tutorials and work on some fun projects of your own. Books are in general things for the past. I have some experience with interviewing at Facebook, so let me know if you have any specific questions regarding programming skills usually required.
It depends of your goals. What type of programming do you focus on?. If you want to quickly develop high quality scientific software, I would recommend Python. As you already know C++, learning Python is a matter of get use to the new syntax, there are plenty of libraries you can use for many appliances and you can write your own in C/C++.
Anyway, the best way to improve your skills is not just learning another language, maybe try to get involve in different projects that solve different kinds of problems.
There are at least three components in programming skills: languages, algorithms, code organization.
Since you already know an object-oriented language, I would recommend learning other programming paradigms. OCaml, Haskell or Scala are excellent candidate to learn functional programming. Python and javascript are popular representative of scripting languages. Prolog shows the interesting approach of logic programming. Finally, Coq or Agda explicit the links between proofs and programs, which eases writing correct programs even in other languages once you get confortable with them. This list is not exhaustive of course.
As for algorithms, I would recommend Knuth's "The art of programming" books. They go in depth with a lot of basic algorithms, and even the experience programmer has a lot to learn from them.
To improve your code organization skills, I find that reviewing any and a lot of online code is a very good exercise.
Most programmers think operationally. In other words imperative instead of declarative.All programmers can benefit from reading about regular expressions, grammars, constants (allocation and single assignment) versus variables (allocations followed by multiple assignments, and comparing the advantages and disadvantages of languages such as C++, Java, Python, Prolog, XSLT. etc.
A lot of the suggestions are for beginners. However, for an experienced programmer in any programming language beginner books are quite boring. They are also not targeted at improving your skills. I think it is a good idea to have a look at other programming languages to even improve the proficiency in the language you know well.
In that regard, I think, Python does not add a lot. Sure, it is a popular language in demand, but it will not significantly increase your skills. The only thing you will learn from this are the advantages (and disadvantages) of scripting languages. One of the advantages is "duck typing". At runtime you can still change classes and their behavior. One disadvantage is that you don't have to declare variables. In poorly written software it is hard to extract any information from a variable (in old code) when it is, e.g., a tuple of dictionaries of arrays. (I'm speaking from experience.)
If you want to extend your skill set you should learn a functional programming language. You don't need to master it, but it might help applying the thinking to C++, especially when using the header from the STL. Also, lambdas in C++11 are derived from functional programming. A very popular functional programming language would be Haskell. If you then want to combine functional programming with object oriented programming, have a look at Scala (I really recommend having some knowledge in 'normal' functional programming first). To improve your skills (mostly, but not exclusively, in functional programming) I recommend "Programming Languages" on Coursera: https://www.coursera.org/course/proglang
Lastly, if you want to improve your general programming skills in C++, learn from the gurus like Scott Meyers, Herb Sutter, and Andrei Alexandrescu. Scott Meyers has written several good books for C++: "Effective C++", "More Effective C++", "Effective STL", and "Effective Modern C++" (haven't read them all, yet). If you really want to learn something new, buy a book about template meta programming in C++. Template meta programming is a functional metalanguage in C++. So, you better first learn a functional programming language to understand the concepts.
C++ is one of those languages you can always learn more. If you want to dig deeper in C++ then you should read "Effective C++", "More Effective C++", and "Effective Modern C++" all by Scott Meyers.
Without any doubt: The best book to improve (but no to learn) your programming abilites is Code Complete by Steve McConnell, published by Microsoft Press.
I don't think that learning Java will improve your C++ skills. Sure, there are many jobs out there for Java developers. However, there are even more Java developers out there. I think it is better to know languages that fewer people know and to land a good job as a specialist in these languages.
The only skill that you can learn from Java is how to misuse OO programming to solve an inherently non-OO problem. Though this is rather not a desired skill in C++ since there are other ways to solve a problem. Or is there anything really new in Java for a C++ programmer? I figured the question was not to easily learn many programming languages, but to improve programming skills. In this sense I think Java does not really add anything for a C++ programmer. Other languages are a lot more challenging.
Python is for advanced users and developers and its better to start java or c++ or c# at first.C# and Java have similar structures.All ideas about me are welcomed.
he C ++ language is a very good language. But keep in mind that usu of languages depends on the problem to solve. Since there are also other powerful level machine and user .
I recommend visiting amazon that has very good manuals to learn C ++ .
What is the best book ( s ) for Improving our programming skills ? - ResearchGate . Available from: https://www.researchgate.net/post/What_is_the_best_books_for_improving_our_programming_skills
C++ is *THE* industrial strength language period. Primers are good, however two books you should have are 'The C++ Programming Language' - Stroustrup, and 'The C++ Standard Library' - Josuttis. Stroustrup is very understandable and before you waist money on primers, give this a shot. STL takes some getting used to, but is very powerful and can be made to make sense.
Python is very powerful, but because it's late binding and essentially type-less makes it easy to create bugs until you get more experience with it; it's also very annoying if you come from a strongly typed language like C++. However, there are numerous tools to do all sorts of things including on-line code snippet testers which are great. Python has also simplified data structures immensely with it's dictionary/list paradigm however there is no type-ing to catch your typos, so if you inadvertently create a variable what you intended can get lost. My opinoin.
The two languages stack up in my mind like the old comparison between a point and shoot camera, like on your iPhone, and a Hasselblad. Depends on what you need to do and how long you plan to stay in the game.
Test your knowledge in C++ by trying to answer the Review Questions in the book"Object Oriented Programming with C++-ANSI/ISO standard", R. Subburaj, Vikas publishers New Delhi India- first published in the year 2003 and revised 2013