C++ For Complete Beginners [Guide]

Are you passionate about computers and would you like to learn how to program? And why not, after all! Programming may seem difficult at first, but it’s a much more accessible universe than it seems!

You are probably wondering where to start if C ++ is for you if it is not better to start with another language. You wonder if you will be able to do everything you want, what are the strengths and weaknesses of C ++ …

this guide attempt to answer all these questions.
Do not forget: it’s a beginner’s course. No prior knowledge is required. Even if you have never programmed in your life, all you need to do is read this guide gradually, without burning the steps and you need to practice regularly!

The programs

Programs are at the base of computing. They are the ones that allow you to perform actions on your computer.

Take for example the following figure that represents a screenshot of my computer. There are 3 windows corresponding to 3 different programs. From the foreground to the background:

1

  • The Google Chrome web browser, which provides access to websites.
  • The File Explorer, which allows you to manage files on your computer.
  • The Microsoft Word word processor, which allows you to write letters and documents.

As you can see, each of these programs is designed for a specific purpose. We could also mention the games, for example, which are made to have fun: Starcraft II, World of Warcraft, Worms, Team Fortress 2, etc. Each of them corresponds to a different program.

Not all programs are visible. This is the case of those who monitor the available updates for your computer or, to a lesser extent, your antivirus. They all turn in “background task”, they do not always display a window, but that does not stop them from being active and working!

I want to create programs too! How should I go about it?

First, start by measuring your ambitions. A game such as Starcraft II requires dozens of full-time developers for several years. Do not put yourself in the lead too hard to reach goals.

you wonder how to make programs. Well, programming is a very rich universe. Programming languages ​​are used to explain to the computer what to do. Let’s take a closer look at what programming languages ​​are.

Programming languages

Your computer is an amazing and complex machine. Basically, it understands only a very simple language consisting of 0 and 1. Thus, a message such as this one:

1010010010100011010101001010111010100011010010

… can mean something like “Display a window on the screen”.

** Wow! But it’s super complicated! Are we going to have to learn this language?**

No, you don’t need to be Neo!
If we had to write in this language (called binary language), it would not take years to design a game like Starcraft II but rather millennia (no laugh!).

To simplify their lives, computer scientists have created intermediate languages, simpler than binary. Today there are hundreds of programming languages. To get an idea, you can consult a list of programming languages ​​on Wikipedia. Each of these languages ​​has it"s own specificities, we will come back to it.

All programming languages ​​have the same goal: to let you talk to the computer more simply then in binary. Here’s how it works:

You write instructions for the computer in a programming language (for example C ++);

The instructions are translated into binary thanks to a “translation” program;

The computer can then read the binary and do what you asked!

The “Translation” program is called a compiler.

How should I choose the programming language I will use? You said yourself that there are hundreds!
Which is the best? Is C ++ a good choice?

Programmers (also called developers) generally know several programming languages ​​and not just one. We rarely focus on a single programming language.

Of course, you have to start with one of them. The good news is that you can start with whatever you want! The principles of languages ​​are often the same, you will not be too distracted from one language to another.

Nevertheless, let’s see in more detail what characterizes the C ++ compared to other programming languages ​​… Well yes, it’s a C ++ course do not forget it!
What is C ++ worth compared to other languages?

C ++ Compared to other languages
C ++: the language of high or low level?
Of the hundreds of programming languages ​​that exist, some are more popular than others. Without a doubt, C ++ is a very popular language. Sites like LangPop.com maintain a ranking of the most commonly used languages if this information interests you. As you can see, C, Java, and C ++ regularly rank high.

The question is: should we choose a language because it is popular? There are very interesting languages ​​but little used. The problem with languages ​​that are not widely used is that it is difficult to find people to help and advise you when you have a problem. This is why C ++ is a good choice for anyone who wants to start: there are enough people who develop in C ++ so you do not have to worry about finding yourself alone!

Of course, there are other criteria besides popularity. The most important thing to me is the level of the language. There are high-level languages ​​and others of the lower level.

What is a high-level language?

This is a language which is quite far from the binary (and therefore the operation of the machine), which usually allows you to develop more flexible in less time.
In contrast, a low-level language is closer to the machine’s operation: it typically requires a little more effort but also gives you more control over what you do. It’s double-edged.

C ++? It is considered part of the second category: it is a language called “low level”. But don’t let that scare you! Even if programming in C ++ can be quite complex, you will have in your hands a very powerful and particularly fast language. Indeed, if the vast majority of games are developed in C ++, it is because it is the language that combines the best power and speed. That’s what makes it an essential language.

Summary of C ++ strengths

  • It is very widespread. As we have seen, it is one of the most used programming languages ​​on the planet. So there is a lot of documentation on the Internet and you can easily get help on the forums. It even seems that there are nice people who write beginner classes on it. : - °
  • It’s fast, very fast, making it the language of choice for critical applications that need performance. This is particularly the case of video games, but also financial tools or certain military programs that must operate in real-time.
  • It is portable: the same source code can theoretically be transformed without problem into an executable on Windows, Mac OS, and Linux. You will not need to rewrite your program for other platforms!
  • There are many libraries for C ++. Libraries are extensions for language, much like plug-ins. Basic C ++ does not know much but, combining it with good libraries, we can create 3D programs, networks, audio, windows, etc.
  • It is multi-paradigm (outch!). This barbaric word means that you can program in different ways in C ++. You are still a little too beginners for me to present you immediately these programming techniques but one of the most famous is the Object-Oriented Programming (OOP). This is a technique that simplifies the organization of code in our programs and easily makes some pieces of reusable code. Part II of this course will be entirely dedicated to OOP!

A little preview of C ++
To give you an idea here is a very simple program displaying the message "Hello world! " on the screen. “Hello World” is traditionally the first program we do when we start programming. This will be one of the first source codes we will study in the next chapters.

1. #include <iostream>
* using namespace std;
* int main()
2. {
3. cout << "Hello world!" << endl;
4. return 0;
5. }

Source: This tutorial presented via a French source, the Original Tutorial English is in French.

Additional: If you People liked this tutorial I will try to continue making the next parts if possible!

ENJOY & HAPPY LEARNING! :+1:

18 Likes

Please continue this guide Sam if possible provide guides for c too.

1 Like