When I was younger I wanted to buy a GameCube and MarioKart. My parents very quickly said no, as they didn't want to spend the money; but my Dad thought programming knowledge was a better gift and said why don't you go a code your own game. Now, things weren't like today, with easy-to-use programming engines. You had to do everything from scratch. it frustrated the heck out of me!
I quickly agreed to this arrangement and started my course on learning to write small programs. and man was I good! I could write if statements and create integers... and that was it. I spent most of my time nesting if statements thinking that this was the way to learn. I had no direction, but I was going full speed.
So what would I do differently?
I would have picked a friendly programming language.
I started with Java, and to be honest, that is a wonderful language to start with. But what I would have done differently was to look around for a language that I could easily learn and feel supported by.
So, open a new tab and look right now. Depending on what you want to make there are a few options:
Python: Great for beginners/ younger people. Choose this option if you want to write small short scripts and automate things on your computer and in real life!
Java**:** This language is business, server and mobile-focused (notice I didn't say games). Choose this option if you want a better understanding of the concepts of Object Oriented Programming (OOP) or just want to get a job.
C#: This is an amazing choice for writing games, especially with game engines like Unity
Practice
Honestly just goof around, and play.
This is where you should spend most of your time at the start. Let your brain get comfortable with logic and loops. I suggest learning the fundamentals like variables (different languages handle variables differently), conditions like if and switch, and finally methods and classes.
Make dumb programs that print hello 5,000,000,000 times.
Build stuff
Once you have the basics down, start planning larger and larger programs. Now, it is important to start small. Keep everything down to one or two features and grow from there.
Some popular projects are:
Calculator: Start with purely text-based input and maybe grow to a graphical one
Text-based games: these can be very simple games with health and a block or attack move.
Countdown timer: just make the number go down or up every second.
In these 3 simple practices, you can become a great programmer. I cant wait to see what projects you make!