It's not that I know C++. I really don't know the language. I learned it wrong (Basically, the book I learned it from explained everything wrong and had many, many errors). I want to start over with a new language and learn it correctly.
You are talking about two separate things. You can't "learn C++" incorrectly in reality, you just were taught to *use* it in an incorrect manner. Using the language "properly" is in effect learning to program. If you move to Python or Java, you are only changing the context of the problem, not removing the fundamental issue. I don't mean to question your abilities but basically if you don't push through and realize the fundamental problems as "usage" instead of knowledge of the language, no one can really help you. Switching languages just gives you new things to learn for a bit but eventually you end up in the same exact place.
You don't understand what I mean: I don't actually understand how the language works. I didn't learn pointers, arrays, variables, classes, or almost anything correctly. I essentially learned how to use them, however how I was taught was wrong (and has led to me having many errors when I talk about C++). I'm going through Java using a good book so that I can understand the languages fundamentals correctly from the beginning.
(That and I want to learn a new language, I've spent almost three years with C++ :))