Before you start to learn to code, you need a reason! That could be because you are studying it at school, you have a family member who works in the industry or you are simply interested. The normal route for learning to program runs through...
learn to program
STATIC programming environments like Scratch, Code Studio, LightBot, Hour of Code and Robozzle where challenges are set and completed using a limited instruction set;
CONTROLLED programming environments like CodeCombat where the development is more open ended but still takes place in a controlled environment like a game;
OPEN programming environments like Coderbyte where open challenges are set to be solved in a variety of different ways in different languages (but in this case requires a paid subscription);
TRADITIONAL desktop programming environments like Python, Java and C++ where all you get is an Integrated Development Environment and a book. Challenges come later.
I'd suggest that you start with a static programming environment. Indeed, you might have already used one in school to help you learn to code without having to worry about typing instructions. I'll assume that you have had a play with Scratch and that you've tried some of the Code Studio courses (like the Hour of Code) before we carry on.
At some point, if you are serious about programming, you will have to learn a text based languages like Python. Block based languages are OK if a) the designer provided the blocks you need and b) you aren't trying to get the language to do something it's not designed to do. As Brian Kernighan once said ...
Cool places to learn to program on the web
LightBot is a puzzle game based on coding; it secretly teaches you programming logic as you play!
Last modified: November 15th, 2021