Skip to content

Instantly share code, notes, and snippets.

@codeacula
Last active May 12, 2022 22:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save codeacula/5173916a64427fbfaf1a8633ff919205 to your computer and use it in GitHub Desktop.
Save codeacula/5173916a64427fbfaf1a8633ff919205 to your computer and use it in GitHub Desktop.
Programming Advice

Getting Started

So, you're interested in getting into programming. This gist has been set up to help people find their and set them up for success. Below you will find an overview of the different disciplines related to programming, along with how to get started and pitfalls you might encounter on the way.

For more info, catch Codeacula while he's streaming over on Twitch, or hit him up on Twitter.

General Advice

  • Before you get started, have an idea of what you want to make first. Learning programming is hard enough when you have a goal, it becomes even harder when you don't know what you want to do with it. Sit down and spend some time figuring out where you want to go. What is your ultimate goal? What steps can you take to get you there?

  • Keep your first project simple. We all want to make wildly successful things that will often require a lot work. Thinking you're going to jump in and create that First Person Shooter you've had on your mind for three years is going to lead to disappointment. Find ways to start small instead, especially if those ways can immediately contribute to the end goal. For example, fire up your favorite game engine and try to implement a game mechanic without worrying about graphics, effect, or anything. Simply having a cube in hand with a number that tells you how far you are from a particular location can end up being a lot of work when you're learning.

  • Success begets success. When you plan what you want to work on, be sure to include easy-to-reach milestones that allow you to look back on how far you've come and see what improvements have been made. This is especially important when working on a new team, because it allows you to both adjust to working with other people, and allows you to celebrate these victories together.

An example keeping it simple

Just programming Tic Tac Toe can be a challenge for people

Modding can help get into programming or game design.

Beginner Advice

What types of programming to get involved in

Game Development

Interested in Game Development? Take a look at our review of some of the popular game development engines

  • Don't try making your own, the saying goes that you either want to make a game, or make a game engine

Programming Professions Covered

  • Game Developent
  • Web Development
  • App Development

Additional Learning Resources

The Game Programming Patterns book is an excellent introduction into the the type of programming patterns you will find yourself using when coding a game. These patterns aren't just limited to the game development world, but they do occur a bit more frequently than in regular programming.

Khan Academy aims to teach people how to program one step at a time in JavaScript.

This Khan Acaedmy course focuses more on algorithms and the ideas behind computer science. Highly recommended for beginners to take a look after they get into programming.

Languages

I recommend JavaScript for anyone wanting to get into programming. Setting up a web project has become extremely easy, and most things you're going to want to do can be done in this environment. I personally recommend you start a Vue project using Vite using TypeScript, and go from there.

People might recommend you start with a memory-managed or stri

Primary Coding Languages

JavaScript/TypeScript

Recommonded resources:

  • Eloquent JavaScript - An excellent resource for people just getting into programming, or who might want to look up on some more advanced topics in JavaScript. Not for the actually advanced developer, but a 10/10 starting point for beginners

C#

C++

C++, for many, can be a tough language to learn. C++ offers a lot finer control over how your application performs, allowing you to write faster, tighter applications. In turn, though, you can either make an excellent app that has a small memory footprint and runs fastly, or a really neat footgun. I highly recommend you choose JavaScript if you're just getting into programming, but I didn't, so I can't say it won't work for you.

  • C++.com - Has a great beginning tutorial into C++
  • C++ Reference - One you have a grounding of how C++ works, this is an excellent reference for many of the languages features.
  • Bjarne's Books - If you can afford to buy some books, these are good ones

golang

Python

Graphical Languages

Honorable Mentions

Lua

Game Engines

Godot

  • Uses language unique to Godot that's a lot like Python
  • Also offers development in C# and some other languages?

Unreal Engine (UE)

  • Uses C++ & Blueprints, a code-less method of scripting inside of UE

Unity

  • Primarily uses C#
  • Has a custom backend built in C++ to transpile code written C#.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment