Getting started is hard. This episode goes into some psychological aspects that will help you start programming and then some specific steps to get your software development environment setup on your computer.

In the audio, I gave some specific commands to run if you are using a Linux computer. I’m going to avoid giving out commands like that in the future. It is probably not the best place to spell out Linux commands. It also tends to make the audio boring which I am definitely trying to avoid. So here are the commands that I tried to explain in audio:
You can setup C++ with these commands:

sudo apt-get install build-essential
sudo apt-get install codeblocks

Listen to the full episode or you can also read the full transcript below.


Understand why you want to learn how to program.

Think of two results you want to obtain.

One should be small. Something that you can complete quickly, celebrate, and then replace with another small result. This will be your fuel and will boost your spirits when you get stuck. If you find yourself feeling negative, then ask yourself when you last finished a small result? If it’s been too long, then pick something different. Keep your current work for later. Go get another win.

The other should be big. Something that seems far beyond what you could ever accomplish. Make it specific and real though. Use this as your guide when selecting your next small result.

When I was in grade school, I loved airplanes and wanted to design and build my own. I could handle a razor x-acto knife to cut balsa airplane parts before I stopped watching Big Bird on Sesame Street. But it wasn’t enough.

I also loved books especially the atmosphere and smell of used book stores. I was barely into chapter books when I convinced my dad to buy me a book on aeronautical engineering. I would flip through that book and stare at the college level formulas with a determination that someday I would be able to read them. I would sometimes run home after learning a new subject in math at school and flip through that book looking for anything. This was my big result. I could hold it in my hands. It was specific. It was real. And it was so far beyond my skills that I didn’t even realize it would take another 20 years to accomplish.

And you know what makes this story even more amazing? I was one of the slowest math students in my school. I mean, really, I can remember the day that I first learned how to count to 12.

That’s the type of big result you need. It should be so big and scary that you don’t even know you are looking at a monster. Maybe your big result will be to build your own game similar to a modern major multiplayer game. That’s good because the game is real. You can play it. And you can compare your small games with it. Just remember that your small results are just that. Let them be a reason to celebrate one step closer. Don’t let them get you down because they are nothing like your big result. Remember that your big result might eventually need an entire team of people to complete it. Use it as a guide and you’ll get there.

Realize there are many different paths to get to your big result and your path could drift one way or another or even loop back on itself. That’s okay as long as you keep your big result in mind.

It’s also okay to replace your big result with a different one.

After learning even a little, you will not be the same person anymore and may think of something that you could not imagine earlier.

If this happens, don’t worry about all the work you have put into reaching your original big result. It served its purpose by changing your direction. Let it happen. There’s a saying that it’s never too late to turn around when you realize you’re on the wrong road.

If possible, find a partner. Even better, find a mentor or instructor.

Whoever you find, it should normally be somebody who is committed to learning how to program also or somebody who has already done so.

You can choose a friend or relative if this person has previously shown unwavering support for your advancement.

This is important because you’ve made a big decision to change. You’re about to learn how to do things that will forever change how you see the world. That’s special and also fragile. It’s not easy. The easy path is to just keep doing what you have always done. Remember that your friends also find change difficult and since you are in their world too, then your change becomes a change in their world and they may try to hold you back without even realizing what they’re doing.

Make sure you have the right expectations.

  • Your first language will be the hardest because of all the new concepts.
  • Don’t try learning everything at once.
  • Learn a bit and then apply it. Use it and experiment.
  • This will take time. Especially to get to your big result.

Get your computer setup with development tools.

You will want something called an integrated development environment. Also called an IDE. How you go about this will depend on what kind of computer you have.

PC running Windows: Use your internet browser to go to VisualStudio.com and download and install the free Visual Studio Community version. This is the version that says you are getting an integrated development environment that can be used to create applications.

I recommend that you setup Visual Studio to program C++ so during the installation, you will have the option to select a custom install and then choose exactly which components to install. One of these components will allow you to select the C++ tools which don’t get installed by default anymore.

If you miss this step or already have Visual Studio installed, then you will need to run the installation program again and select the option to modify your installation. This will let you add C++.

PC running Linux: You might already have a development environment installed. If not, you can setup C++ with this command:
▪ sudo apt-get install build-essential
▪ Then you will need your IDE. As is typical with Linux, you can choose from a wide variety of options. I suggest Code Blocks and you can find out more at codeblocks.org Use this command:
▪ sudo apt-get install codeblocks

Mac: Open the Mac app store and install the free Xcode application.

Now that your development tools are setup, it’s time to build your first program that just says Hello. And I don’t mean that it speaks. It should just print out some text that says Hello.

This is about as humble of a beginning as possible but it does something special.

It proves that you have everything in place to begin programming.

But more important, it is that first step. Taking action and beginning this journey is actually the major accomplishment here. For this first step, it’s not what the program does that’s important. The really important part is that you wrote your first program.

Congratulations, you have started programming.