‫Welcome back.
‫We just learned what a programming language is.
‫It's just a set of instructions that we give to a translator.
‫And this translator can be an interpreter or a compiler.
‫And we give these files that we create our own code, our source code to these translators.
‫And they allow us to give instructions to machines, to computers, to phones.
‫So we learned that we need these machines in order for us to write Python.
‫Right.
‫How can we get these?
‫Well, we download them and here we download Python from the Python Software Foundation from python
‫dot org.
‫Now, before we download Python, we're going to wait a little bit because in this course I want you
‫to understand why we're doing things, not just follow my tutorials, follow my videos and, well,
‫not understand the meaning and the fundamentals behind what we're doing.
‫Things you should be able to teach what you're going to learn.
‫So let's take a pause here for a second.
‫If this is the first time that you're learning a programming language, I have some good news for you.
‫At the end of the day, all programming languages do the same thing.
‫They tell the machine what to do.
‫However, different languages have different ways of doing it.
‫The beauty is that most languages have very similar principles.
‫If this is your first programming language, well, this is going to be the hardest part.
‫Learning the first one afterwards, every new language you learn becomes easier and easier in the sense
‫that it's not the same as, let's say, learning English and Japanese two very distinct languages.
‫In programming, things become a lot easier as you learn that first foundational language.
‫Now, if this is not your first language, and let's say you've written code in C, C++ or JavaScript
‫and you just want to learn Python, well, you're going to find these first couple of videos quite easy,
‫but bear with me, trust me.
‫We're going to get into some advanced topics here and we're going to make you a full fledged developer
‫by the end of this.
‫But let's go back to this topic at hand, this idea of downloading this translator.
‫The thing is, when people refer to Python the language, they're most likely talking about the implementation.
‫That is, they're talking not about the language itself because Python the language is just a specification.
‫You can think of it as a document that somebody wrote that says, Hey, when I write the words def,
‫that means something in Python.
‫And when I write something like print, that means something in Python.
‫But the translation machines, well, we can have tons of them.
‫Different interpreters, different compilers.
‫For example, python dot org.
‫When you click download here, you're actually downloading this the C python because it's written in
‫the C programming language.
‫This is what you're downloading.
‫It's a program written c.
‫To read your python file and well, run it on a machine.
‫But there's other implementations.
‫For example, there's the Python project and this is a translator that is written in the Java language.
‫There's Pi Pi, which is actually written in Python.
‫So it's a interpreter.
‫It's a translation machine written in Python.
‫And then there's also things like iron and Python, which is written for the dot net framework.
‫So here's a little trick question.
‫When you download from Python, the official language is actually C Python.
‫You're downloading this interpreter that follows the Python specification.
‫But at the end of the day, it's a machine built by somebody.
‫But these machines can well come in many forms.
‫So when most people talk about Python, they're talking about this one C Python that well does our translation
‫for us.
‫It interprets our python code and runs it on our machine.
‫So we're downloading this.
‫And if you want to really get into details as to what we're downloading, what we're downloading, a
‫machine that takes our python code, which don't worry, we're going to write.
‫And it goes through the interpreter which we download using C python.
‫And this C python is going to create something called a byte code.
‫For example, this byte code prints hello world on our screen.
‫Now, this might look like gibberish to you.
‫And even for me, I don't know.
‫By code, this looks pretty well confusing.
‫Just for printing.
‫Hello.
‫World to the screen.
‫Well, the interpreter does that automatically for us.
‫We see we don't see it.
‫It's behind the scene.
‫Now, once it creates a bytecode that is closer to machine code, it then uses the C Python virtual
‫machine.
‫Again, just something that runs this code and then this code gets run on our machine.
‫Now, you're never, ever going to be asked this question in an interview.
‫I mean, maybe and most of all, birds don't know this, but I want you to use this as a reference that
‫when we write Python code throughout the rest of this course, this is what's happening.
‫We're writing Python.
‫It goes gets interpreted line by line and formed into what we call byte code.
‫And this bytecode gets run on the C Python virtual machine, which runs on our computers, our phones,
‫our laptops.
‫And when we're downloading from Python dot org, we're downloading these two pieces so that once we
‫have them downloaded, we can run Python.
‫All right.
‫That was a tough one.
‫And I mean, we just got started.
‫I hope your brain is an exploding again.
‫This is something for you to use as a reference.
‫But you know what?
‫I think it's time for us to learn how to actually run Python code.
‫And don't worry, we are getting there.
‫We are going to write our first Python program very soon.
‫I'll see you the next one.
‫Bye bye.