I'm a beginner and I don't know where to start.
I recommend free code camp.com , any intro to computer science on edx or coursera (google them and give a looksie) and the series on computers from crashcourse channel on youtube
Starting a small project and finding resources to get it done will help you learn better. As a programmer, your only job is to solve problems. To solve a problem, you have to find a problem.
One of the best online resources I'd recommend for beginners:
One important advice for you:
Don't spend too much time looking out for "best" resource on the internet to learn coding, you'd end up mastering "How to do google search" rather learning coding. Start with something.
Good luck! Cheers!
Ron
Thinker
If you are a total newbie i suggest you start looking at game development. Its both fun , the learning curve is not very steep, and the programming complexity is manageable for beginners, but as you go delve into the depths of game theory , game programming can turn out to be lot more complex , and hence a niche skill.
A basic affinity towards logical thinking and the sciences is crucial on the road to becoming a game programmer.
If you are artistically inclined, and have a creative bent of mind, then within a couple of years, you can pick up all the skills you need to be a full time indie game developer .
There are tons of free resources available for game programmers, and lots of platforms (opengameart.org, itch.io, html5games.com, newgrounds.com) where you can both learn and earn money.
There are umpteen game genres too like RTS (Real Time Strategy), FPS (First Person Shooter), MMORPG (Massively Multiplayer Online Role Playing Games), Endless Runner , Educational Games, Retro & Pixel Art based Games etc, so you are not limited in any direction when it comes to being a game developer.
There is no formula to creating a successful game though, and along with the amazing amount of creative and technical effort it takes to polish and publish a full fledged game on an app store, it stands out as the two reasons that can sometimes dissuade a game developer from completing many of the Game Titles that they embark on.