A meaningless question. Programming can be on anything. And all this nonsense about "you should start with the basics".
Should be done two things. The order is not important!
Select the area you like. Focus is on not related to programming language issues. For example, game development requires passion, knowledge of the basics of game design, a lot of communication in this area will have huge feedback, and well, if it is received over a beer/coffee from a familiar person, and Yes, I almost forgot - a lot of perseverance, otherwise it will fail. Then as for web design it would be good to have a so-called sense of taste, the ability to quickly switch between tasks as often have to engage in multiple projects at once, knowledge of colors and their compatibility would be helpful as well, although SEO is dead rather than alive, the understanding of the promotion of much help. That is, for different areas, there are many features, which have to face every day, but solving that will not written a single line of code. Of course, the bigger the team, the greater the division of labor and the less we have to delve into the features, but especially at the start, these things will significantly help.
Look at the different programming languages. Here, perhaps, we should exclude spirituality and functionalso, for them it is difficult to make sensible not having a brain tumor (just kidding, of course). A lot of them: python, c++, java, go, JavaScript, nasm, c# (mono)... the List goes on. Most of them have spread to a huge region. Not important: game development, web design, banks, and transportation - each of them can be applied to virtually any instrument. Moreover, each of them is applied often several tools. So the first choice of almost no impact.
Here is just a couple of things to mention.
First, matanasarawoot different. The lowest is in the web. Most probably banks. Somewhere in the middle of the game design, although not so long ago, it was much more matanoski, today most of the Matan crept in somewhere in the libraries (however, the logic still have to be friends).
Secondly, the platform. Some languages tuned for one platform (c - *nix, c# - ms), which in other things, forbid their use on other platforms, there are features (normal pure win ovogo of compiler XI under wine is still there, and its WinAPI in C lame a little more than full, while the port of c# - mono - has many features when working on non-native platforms). And ECMAScript (js) did at one time worked only under browser, although today to do native apps on it rather difficult (of course, if the OS is NOT a browser), and its limited browser API, which often differ from each other.
But these are minor details. They are everywhere. You can do the backend in c++, in python, you can node.js. You can write games in C# (XNA/Unity/monogame), it is possible in js (browser-based games today manage and webgl). So that's more like it, and learn. And it is not necessary with the basics. And especially do not equate to the C "pillars".