First off, sorry if I'm putting this in the wrong section. Please move it to the correct area if I've made a mistake.
I'm quite an experienced programmer in languages such as PHP, Javascript, Ruby and a novice in languages such as Java and C#. However, I've written multiple apps in the mentioned languages; May it be web apps, desktop apps and mobile apps.
Well I think it's time to go to C++ and learn about some deeper aspects of programming, one of them being to manage memory myself and learn about the inner workings of the hardware. I've read that C++ will give me all that.
The issue is that I don't consider myself a proficient programmer and I don't know if I'm ready for C++ yet. Should I remain at one of the languages I've mentioned before getting fully started with C++, or should I straightly head to C++?
It's obvious that the decision is mine to take, but I need to know if C++ would overwhelm me even if I have prior experience with programming. Yes, you don't know if it would be suitable for ME, since you don't know me, but collecting multiple opinions on this case would definitely help me collect a result.
I would say you should go for it. You ready are experienced as a programmer and have a high level understanding of programming in general, so learning C++ wouldn't be too difficult for you. Take a leap of faith, and just dive into it.
C++ has a stigma of being very large and very scary. And to some degree, that's true.
But the basic language itself is very easy to grok, and you'll have it down quickly. I bet if you just read the Tutorial you would then know plenty enough to write good software.
Most of the time spent learning C++ (as is true of every language) is time spent familiarizing yourself with the standard library and the idioms available to you. Some are obvious. Some are about as obtuse as it gets. But as you learn your proficiency goes up.
For example, I've learned the value of proper iterator use from m4ster r0shi starting with this thread: http://www.cplusplus.com/forum/lounge/32041/2/#msg173887
It turns out that using iterators has a significant performance boost over naïve array indexing.