| I'd advise you to NOT start with "what you want to do", cause you're likely not even sure. Take something that: - Is already a development environment vs a toy console. E.g. some popular framework for making apps. Learn to make apps and to work in structures/boilerplates you can't yet understand. Don't be afraid of how big it is, this all will be useful and much less scary in the end. - Is immediately presentable to you and someone else, in an entertaining way. Back in the day it was "graphics", today it's web apps with svg, img and styled ui controls. Don't start with "interpreter in console". That semantic gap between console and real apps will demotivate you. - Has most of its wheels invented. That means a big community, a large package repository, an infinite amount of tutorials for different libs and toolkits. Languages that have no wheels invented cannot drive, because everyone is busy reinventing. - Isn't low level, has little legacy. If you're not a programmer yet, high level programming alone will overwhelm you for a while, the hardest part being "broad" not "deep" (you'll see). Jobs are also mostly "broad". That's how you choose. Addressing the "overwhelmed" part: it's both deeper and shallower than you think. Deeper in that there's many decades of knowledge packed into what we have today, and there's still work to do. Shallower in that you're likely 10x overestimating what it takes to start making average apps you see. 98% of fights in programming are with stupidity of something rather than with trying to grasp something too smart. |