I Taught Myself to Code

When you start learning programming you cannot stop until you get over the first mountain. You'll understand the basics of programming syntax. How to hold variables, how to use logical operators, and manipulate data within your program.

Did I lose you already? Whoops let me back this up a bit.

Forget what everyone else tells you about programming being a difficult subject to grasp. Programming is just like learning another language and to learn this language you need to be EXCITED about what you're about to learn.

So how did I start learning about programming?

Lesson 1: Get excited about a project or problem.

I wanted to use programming to solve my inability to create modifications for different video games. What did I do? I used this as leverage to solve my problem by learning to program. I got excited about trying to solve my problem and stopped at nothing to reach my end goal.

I created two things:

  • A modification in Minecraft that made mining dangerous without light and pillars to hold up the ceiling.
  • A modification in Fallout 4 that created procedural dungeons with a really slow Papyrus script.

What was the take away from these projects? I figured out how to manipulate data in the Papyrus scripting language as well as Java.

Lesson 2: Learn the Language that Solves YOUR Problem.

Everyone will tell you to learn Javascript, C#, Java, or some other programming language that they're familiar with. That's because it solved their problems and helped them achieve their goals. That may not be entirely true for you. You have to get out there and research what problem you're trying to solve and finding a programming language that will fit YOU the BEST.

These two projects helped me decide what programming language I would be working with next. That language was C#.

Nobody is going to tell you write a Smart Contract for the EOS Blockchain in Papyrus. If you want to write a smart contract for a C++ based platform you need to learn C++.

Nobody is going to tell you that if you want to learn web development you should start with C++. That's a ludicrous statement and you should probably learn basic HTML and move over to Javascript in about two weeks.

Lesson 3: School or Not School (You don't have to be amazing at math.)

Universities and College are going to help you learn a lot of difficult computer science algorithms. Personally I did not attend College to learn how to start programming. I learned programming by DOING rather than hitting the books.

When I saw my course work for College and I wanted to pursue a degree in computer science I immediately felt disheartened with the amount of mathematics they wanted me to learn. Here's what I know now that I've decided against the College work.

  • Math will only be relevant when you get incredibly deep into low level programming languages.C++, Web Assembly, Go, C, etc.
  • Math in programming usually has to do with basic multiplication, division, subtraction, and addition.
  • The math you want to learn will usually be a formula that you can understand with a little bit of effort.
  • The majority of formulas you need can be learned through plenty of online resources.

This worked for me but if you want to pursue mathematics because you TRULY enjoy math then do it. The college resources for teaching yourself physics will serve you well when you get started with actual programming that involved game mechanics. Although you can generally get away with not going through several years of math.

Lesson 4: Someone Else Has Solved Your Problem

A majority of the time when you're programming you will come across a very difficult problem. Sometimes you'll need to step away for thirty minutes or use the rubber ducky method to read the code back to yourself. When all else fails you'll need to do some research to help figure out what went wrong. Google is a great resource for helping discover your problems and you'll naturally become better at debugging as you continue.

Just because you ran into a problem doesn't mean it's the end of your career. You will solve that problem by thinking, doing, and plenty of research.

With this small article I leave you with one of the first videos I stumbled upon by CheersKevin. Thank you Kevin you're the biggest inspiration for helping me learn how to program.