Programming is like dancing: everyone can do it, but very few do it so well that they get money in return.
However, writing the code is only part of solving the problem. In fact, it’s not the most important, because different languages can solve the same problem. The key is knowing how to pose the problem: build the model that reproduces and automates something real.
For example, fifth generation languages (5GL) are purely declarative: they express what needs to be done. Then the machine sets the how, and does it. To use them you need to be clearer about WHAT to do than about HOW it should be done.
Application development’ is a field that will be increasingly automated. And the programming of ‘real programmers’ will become the creative germ of everything, as it happens with cars which are first made in clay.