C++ is a strongly typed programming language. What this means is that every variable has a type, a name, a value, and a location in memory. For example, if we look at the variable declaration below, we can denote that the type is an integer, the name is a name value, and its value is the number 42. In C++, there are only two types of variables that we can have. Every variable is either a primitive variable or it is a user-defined variable. In the primitive variables, there's only six commonly used primitive variables. Those are an integer that defines an integer, a character that defines a single character or single-byte, a boolean which has a value of true or false, a float which stores a floating point number, or more commonly we will use a double which stores a double-precision floating point number. We'll almost always use double over float. Finally, there is this special type called the void type. We're only going to use the void in context of a function, but the void type denotes that, that type has no value. On the other side of things, there's an unlimited number of user-defined types, and we'll define some of our own user-defined types throughout this course. There's going to be two very common user-defined types that I want to point out to you right now. One is a string that allows us to build a sequence of characters, and the other is a vector which allows us to have a dynamically sized array. Notice that you define a string, we'll use std string, and this denotes that the string is part of the standard library, and we'll discuss exactly what the standard library provides us and how to use it in just a few lectures. But to really get started, I want to build our very first program, and to do that, we need to understand just one more thing beyond variables, and that is how to start a C++ program. A C++ program must always start from a fixed starting point, and by the C++ standard, that fixed starting point point is the function main. The function main takes a return value of an integer. By convention, this integer is going to be zero if the program was successful, and non-zero if the program failed. For the first half of this course, we're going to mostly look at example programs, so we expect the very last line of code we see to be returned zero, to return a zero from this program. A lot of this is maybe very very new to you, and we're just going to dive in and we're going to see lots and lots of real-world programs, that you can compile, you can download, and you can run yourself, so that you can play around with it. So, if there's something that confuses you, I urge you to dive in a little bit more. Let's look at this first program and we're going to look at hundreds of these throughout this course. The very first first is main.cpp in the cpp intro directory, and the very first we see is on line 10, we see integer main. This denotes that this must be the starting point of our program, because we know main as a starting point, we know that everything after main is going to be ran sequentially. So, the very first line is int i = 4, on line 11. This is going to define our first variable i, and it's going to have the value four. On line 12, we take the value an i and add two to it, and i now becomes six. On line 14, we define another variable, a character c takes on the value a, and finally on line 16, we see a new syntax std cout. This std cout just simply stands for console out, and we want to output these things to the console, the double alligator brackets indicate that we're going to concatenate it. So, to the console we're going concatenate the variable i which has a value six, a space, and the variable c which has the value a, and then we are going to put a new line. We expect the output of this program to be six space a. Let's go over to the console, and run this program, and see what happens. I've opened up my console and I've moved into cpp-intro directory, and now I can run make to go ahead and compile this code. After this code compiles I go./main to run this program, and the output of this program is six a. This is exactly what we expect. What we did was we used two primitive type variables, an integer and a character, to store data in memory, and then output them to a console. What's really really powerful about C++, is when we start building our own custom user-defined data types, and we're going to start building our very first class in the very next lecture. I'll see you there.