top of page
Writer's pictureEverything++

How to learn a programming language

Updated: Aug 19, 2020


Many people are attracted to the IDEA of making their own games, websites or computer programs. Then, they sit down at their computer to get started and have no idea where to go from there. Which language do you choose? Is my computer even capable of making programs? What programs do I need to make other programs? These are all very common questions; ones I hope to resolve in this article.


I have been coding for almost 30 years now, but I started programming when I was around 12 years old. My mom brought home an old VIC20 computer from a garage sale that I had to connect to an old black and white television as a monitor. The programs I wrote were recorded on, get this, audio cassettes. Lucky for me it came with a manual describing the BASIC programming language.


I used that manual as a reference as wrote tons of programs, mostly simple games. I made the "guess my number" game where the computer randomly choose a number between 1 and 100 and asked the user to guess it. If the guess was not correct, the computer would say "Too low" or "Too high" and "Please guess again." When the player finally did guess correctly it congratulated them on a job well done. Was this useful? Not really. Was it fun to play? For a while. Did I learn a lot? You bet!


It was the desire to create MORE and BETTER that drove me to continue programming. My passion for computer programming started there, and has become my lifelong hobby and professional career.


Why do YOU want to start programming?

Many people I talk to seem to get bogged down with this seemingly simple question. If you WANT to program, then you CAN do it! Simple enough. Your reason for wanting to program will likely guide you in how you get started, but also keep you focused on accomplishing your goals.


If you are like me then you just might like making the computer do what you want. You may want to do it because you have a killer app idea and you want to make sure you get all the credit (and the cash). You may want to build a website for your community or church group. Whatever the reason is, all you really need to do, is just get started!


So how do I get started?

The first question you will have to decide for yourself is "What am I going to make?" Do you want to make a website, a first person shooting game, or a desktop application? If you have multiple interests, then choose the one you think you will use the most.




Which language should I choose?

The sheer number of languages out there makes it hard to know which language is used for which type of application. However, there are two main areas of knowledge when it comes to programming languages:

  1. Programming logic

  2. Language syntax

Programming logic controls how the application flows. It involves how the program makes decisions or calculation to get the desired results. The logic itself is very similar among most languages. Here is a short list of some of the elements most programming languages will have:

  1. Variables - places to store information

  2. (logic) If / then statements - makes a decision based on variables

  3. (logic) Loops - repeat something to get a result

  4. Output - printing things on the screen, like "Hello World!"

Language Syntax is specific to each programming language, although some languages fall into "families" of languages where the language syntax is very similar. C, C++ and C# are an example of this. The syntax of the language is a set of rules in how the code is written so that the computer will be able to understand and execute the commands as intended.


For example, an "If / then statement" in C looks like this:


if (variable == true)

variable = false;


The same "If / then statement" in Visual Basic (VB) looks like this:


If variable = true then

variable = false

End If


So...which language?

Now, when it comes to choosing a programming language there are two main paths:

  1. Web-Based Scripting Languages (HTML, Javascript, etc...)

  2. Desktop Programming Languages (C#, C++, VB, etc...)

What about games? They fall into both categories depending on how you want your players to access the game.


Both paths will require you to learn the Language Syntax of the language you choose. The main difference comes in the Programming Logic. Desktop Programming Languages use programming logic extensively, while Web-Based Scripting Languages have little or no programming logic in them. Don't get me wrong, not having program logic in web-based languages doesn't necessarily make them an "easier" language.


The benefit of choosing a programming language that uses programming logic is that once you learn the logic, it can be applied to almost any other language with programming logic. You wont have to re-learn it for each language. Language syntax is a different ball game. Unless you choose a "family" language, you will have to learn the syntax for each different language you choose to use.



O.K., but WHICH language?

Now you know the major differences between the two types of languages out there (some have programming logic and some don't). Do some research to find out what languages are used to create applications similar to what you want to create.


If you are going to make websites, then start with HTML. There are many online resources for learning HTML. Build off of what you learn and continue on with other web-based languages as needed to accomplish your specific goals.


If you are going to make applications, then my personal recommendation is to learn one of the C family languages. Start off with making console applications (text based input and output). This is very similar to the start I had on my VIC20 making those easy games. Doing this will allow you to focus on the programming logic and syntax of the language and not get bogged down in figuring out how to make text boxes or pop up windows, etc. Starting with this language has the following benefits:

  1. There are tons of online language references and tutorials to get you started.

  2. There are many languages based on the C syntax, and learning it will give you a quick start into a lot of other languages.

Once you are familiar with program logic and the syntax, then you can start to let your imagination run wild. Start learning about creating .Net applications that have user interfaces (buttons, text fields, etc...), or go down the path of making games. It's up to you now!


What kind of computer do I need?

The only recommendation I have for a computer is "one with an internet connection!" Seriously. YOU WILL NEED IT. Being able to access the internet to get help or see examples of how others have done what you are trying to do is invaluable.

You do not need a beefy computer or any special hardware, especially in the beginning when you are making HTML pages or console applications. If you can manage a dual monitor setup, I recommend it. You will be coding on one page and Googling on the other!




What programs do I need?

I highly recommend an Integrated Development Environment (IDE). Depending on the language you choose, the IDE will be different. Online resources for the language you choose will also be able to reccomend and IDE.

My IDE of choice is Visual Studio from Microsoft. There is a free community edition perfect for someone just getting started. I am not as familiar with HTML development, but Microsoft also makes Visual Studio Code which is also free and has HTML support. Click the links above to see which version is right for you.


Conclusion:

Learning to program a computer isn't easy, but it is rewarding. It is also the "gift that keeps on giving." I am continually learning, and continually making mistakes (and learning from them). Whatever you do, don't give up. You will hit MANY road blocks, and there will be MANY victories as well.


Where are you in your programming journey. Have you started yet? What languages do you use or are considering?




161 views0 comments

Recent Posts

See All

Comments


bottom of page