|I have no idea on what a advanced programmer is better than every one else. |
If you have to ask whether or not you are advanced, then you are not advanced. This is true not only of programming, but of everything in life.
One of my favorite quotes is "Education is the progressive realization of our ignorance". The more you learn, the more you realize you don't know. Those who think they know everything actually know very little, and those that really know a lot are often overwhelmed because they can see how much is still unknown to them.
|I also Do not understand why companies look at experience rather than ability|
Experience is the best teacher. Unless you're some kind of crazy savant (read: you're not), the only way to learn to program is to actually do it. Roughly... the longer you do it, the better you get.
That doesn't mean that someone is guaranteed to be a better programmer just because they've been programming longer... but it does tend to follow that pattern.
Again this is true not only of programming, but of everything in life.
|since I am 13 but I know more than someone with say 3 years experience in C++.|
No offense, but if you're 13 you don't know jack shit. Sorry, but it's true. You may know more than other 13 year olds, and maybe even more than some 17 year olds but that means very little to anyone over 20.
When you're over 20 you'll understand why it works that way.
The best way to get better is not to think you know more than other people... but to accept that you don't and try to learn from others. Arrogance begets ignorance.