Introduction to Programming Languages
FREE CODING GUIDE: Part 2
Programming for Beginners: Programming languages
One of the first things you hear when you start learning about coding are programming languages. They may sound technical and it’s hard to get a proper overview of them as a beginner. There’s just too much jargon flying around, so it’s normal to feel confused at this point.
To help you understand what programming languages are and what you can use them for, this part of our guide walks you through some programming language basics for beginners.
By the end of this part, you’ll know what programming languages can do for you, why there are so many to choose from, and how you’ll use them to build entire programs by coding.
Let’s jump right in!
What is a programming language?
The most important thing you should know is this: Programming languages allow us to communicate with computers through code.
Each programming language is simply a means to tell a computer what it should do. It’s a language your computer understands and knows how to process.
When you learn a specific programming language, it’s a lot like learning any other language. You need to understand how the language works and follow a certain set of rules, much like grammar in spoken languages.
Why do we need programming languages?
But why do we need a programming language for if computers are so smart these days?
Why not just use plain English to tell your computer what it should do? I mean, Siri does a pretty good job at fulfilling your wishes in English, right?
To get a better idea about why we need programming languages to communicate with computers, let’s consider a simple example: making an omelette. Yum!
If you wanted to give a computer a set of instructions on how to make a delicious omelette, you could write a list of the individual steps:
- Take the eggs out the fridge
- Chop some onions and red peppers
- Whisk the eggs in a bowl, add some salt and pepper
- Turn on the stove, medium heat
- Melt a tablespoon of butter in a frying pan
- Sautee the onions and peppers
- Add the eggs to the pan
- Turn the heat on low
- Let the omelette sit for 3 minutes in the pan
- Turn off the heat and put the omelette on a plate
So these steps are pretty clear and well structured, right? If you were making an omelette for the first time, you could probably follow these steps and end up with something edible on your plate at the end.
However, the steps written in English are very ambiguous and imprecise. Following them correctly requires heaps of skills and assumptions as of how to cook, for example:
- You would know how to whisk eggs in a bowl. A computer would not know what size the bowl should be.
- You would know how much salt and pepper is enough to make the dish taste good.
- Further steps assume that there is a stove in the kitchen and that it is working in the first place.
Surely, we could keep adding additional points to our instructions to make them more detailed and specific. However, even if you put plenty of effort into it, you would still end up with something ambiguous and difficult for a computer to understand.
So, we need a better, more efficient solutions for telling a computer exactly what it should do. The steps of a process have to be told more precisely and without any ambiguity to our computer. That is what we use programming languages for.
Remember: Computers only understand 1’s and 0’s
Now that you know we need programming languages to deliver our instructions to a computer without any ambiguity, there’s one more thing you should know…
You see, here’s the trick:
Computers only understand electronic signals. Therefore, in order to make a computer do what we want, we need a way to translate our instructions to a computer into electronic signals.
To be precise, there are only two types of signals you can give a computer: either “on” or “off”. On a technical level, these signals translate into 1’s and 0’s inside your computer, called binary code.
When you put enough of these signals together, you have a computer program. And no matter how simple or complex a program is, it only consists of these two types of signals.
But a single computer program can consist of millions of on/off signals. If you wanted to read and write your programs using only 1’s and 0’s, it would be awfully time-consuming. Also, the entire process would be extremely prone to errors.
Here’s where programming languages come to our aid. They help us work with code that is easier to write, read, and understand than simple binary code with just 1’s and 0’s.
If this sounds a tad too technical or confusing, don’t worry. You don’t have to understand all of this just now. We’ll take a closer look at binary code in a later part of our guide.
For now, just know that a programming language helps you write instructions to a computer without having to work on the lowest, binary level of code. Thus, it saves you heaps of time when you can work with commands that resemble a spoken language like English.
Related article: Computer Science 101: Binary Code Explained
Programming language rules and syntax
When you think about learning a new language, you would need to learn new vocabulary and understand some grammar rules, right?
And that’s how programming languages work, too. They all have a unique set of rules that determine the structure and features you can use. Thus, the code you write looks a bit different in each programming language, even if it’s supposed to do the same thing.
The basic rules for writing code in a specific programming language is called the syntax. Hence, each language has its own syntax. Depending on these rules, some programming languages are generally viewed as “easier” for beginners to learn, while others might feel more cryptic for a total newbie.
Speaking of easy and difficult programming languages…
- Programming languages allow computers to understand instructions from the programmer
- Syntax defines the rules and the structure of a specific programming language
Why are some programming languages easier than others?
Depending on which programming language you learn, the code you write will look very different from pretty much every other language.
Some programming languages read a lot like English, making them easy to learn for beginners.
But others have a much more cryptic feel to them, meaning they’re more difficult to understand and master if you’ve never learned coding before.
The “easier” programming languages are called high-level programming languages, since they don’t resemble the low level binary code at all.
Similarly, the more cryptic languages are called low-level programming languages, since they are closer to the binary code a computer understands.
If programming language paradigms are totally new to you, don’t worry about knowing everything about them. What you should know right now is that some programming languages are easier for beginners to learn, i.e. the high-level languages, than others, i.e. the low-level programming languages.
Related article: 17 Programming Language Paradigms Explained for Beginners
Why are there so many programming languages?
Each programming language is designed to serve a specific purpose.
Some are used for creating desktop software, some are useful for web development, while others can be used for data analysis, for instance.
Therefore, each programming language exists to solve a problem for us who use it. Simple as that.
We will take a closer look at the different areas of web development in the next part of this chapter, when we discuss front-end vs back-end development. Each of them uses specific programming languages to achieve the desired outcome for the most diverse web projects.
- Each programming language is designed to serve a specific purpose
Which programming language to learn?
When you start learning how to code, one big question on your mind is: Which programming language should I learn?
The longer the list, the more daunting it feels to know where to start. Trust me, I was feeling just as overwhelmed when I started teaching myself how to code.
But as difficult as it may feel to make a decision, remember this: All programming languages serve the same purpose. They’re there to allow you to solve problems and build valuable tools like programs, apps, and software.
Later in the guide, we’ll look at what programming language you should learn first. So don’t worry about that just yet.
And quite frankly, it doesn’t even matter which programming language you learn first. Since it’s just a tool to build solutions with code, you should focus more on figuring out what you want to create with coding. Depending on which area you wish to specialize in, you’ll pick a suitable programming language to learn for that specific field.
Final thoughts: Computer Programming Languages
This part of our guide is a lot to take in. If you feel like you don’t understand all of it fully at this point, don’t worry about it. You’ll learn everything step by step as you start writing your first programs later on.
Also, you’ll get a better overview of different programming languages and their uses in the following parts of the guide.
Here are the main take aways from this part:
- Programming languages allow you to communicate with computers through code
- We need them to give our computers 100% precise, unambiguous instructions
- When you execute a program, your code is translated into binary code consisting of only 1’s and 0’s
- Each programming language follows a specific set of “grammar” rules called syntax
- Every programming language is designed to serve a specific purpose, i.e. to allow you to build websites, do data analysis, or create desktop software etc.
- Depending on what you wish to build with code, you’ll learn a programming language serving that purpose
In the next part of our guide, we’ll take what you learned so far about programming languages and look at how they serve different purposes in coding and web development.
More importantly, you’ll find out which programming languages you should learn when we go through the differences between front-end and backend development.