It is OK to "focus on the language". You cannot learn, for example, French if you do not focus on the French language. You already know how language works -- you use one every day of your life.
Be careful when you get people's advice on learning things. One's own ability to use a programming language does not necessarily translate into a correct pedagogy -- if you wish to ask advice on learning <language X> (like C++), ask someone who knows something about
teaching it to others. Simply being proficient is not enough. (If it were, there would be fewer crap books about C++ or vb or whatever in bookstores.)
I've been told you either can do it or you can't, which I disagree with ... |
Alas, you have been told correctly (more or less).
It is true that everyone can learn to program (or paint, or play music, or drive with a manual-transmission...) to some level of competence, but some skills require a certain internal way of thinking to be less than... strenuous. Yes, you
can overcome with intensive training and practice, but that takes years. Even some people who want it very badly find that they struggle with it unendingly.
That said, don't put too much stock in it. If you
want to and
enjoy programming, then there is no reason you can't. Pick a subject you enjoy and work at it.
If you want to make a specific application, start working on it. You will need to learn how to do things you haven't done before, as well as learn better ways to do things you have done before, as you research and study and work your way through it.
Here is a final piece of advice: don't ask vague questions (like, "what is a good way to learn C++"). The best way to get useful advice is to ask
very specific questions about some aspect of C++. Like:
■ Why would you use the ?: operator instead of an
if..
else construct?
■ Which
regex library do you prefer and why?
■ I've been having trouble keeping my console window open at the end of the program.
What might cause that?
■ My file-reading loop isn't working right. Would you mind taking a look at it to see what I'm doing wrong?
People may not be able to teach you "how to program" but they are very happy to share what they do know about specific things. You will likely get a lot of good (and some bad) advice about these specific topics.
You just need to come across the topic as you are working your way through your task.
Hope this helps.