I know C, C\\, Java, C# and PHP as well. If I have to name 1 language I'll go for C\\, as I eventually want to create a game C\\ is the way to go, as it's an industry standard. I still don't know C\\ entirely, as I still miss some basic information (like template programming (?)) I just compare myself to great programmers as Michael Abrash (great x86 assembly programmer), John Carmack (lead programmer for id Software) and Stuart Denman (lead programmer for Drakan: Order of the Flame) and see that I still lack a lot of skill like math and algorithms, a better understanding of the CPU I'm working with, etc. I still have a long way to go, but I have indeed set a personal goal for myself after which I can claim to be at least a Good Programmer :p This is pretty much the way to go: Start small. I'm a graduated from community colleges (that's after Highschool but before University, right?) about 3 months ago, but as I never really finished High School I still lack a load of information when it comes to math, so I'm thinking of finding a job and learning in my free time using a Distance Education system. When I payed my debts and got enough gadgets and books and everything else I basically wanted the last 10 years I'll start with a bachelor degree. edit: How do I escape the plus symbol?What have you been programming / in what language(s)?
The term "great programmer" is so hard to define though
Maybe provide yourself with a project that when completed, will define you as a Great Programmer?
I'm still working on a simple Space Invaders clone