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 write.
How can we get these?
Well, we download them and here we download Python from the Python Software Foundation from Python,
Doug.
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 dawg, 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 redundancy to read your Python file and well run it on a machine.
But there's other implementations, for example, there's the Jiten project, and this is a translator
that is written in the Java language.
There is Pippi, which is actually written in Python, so it's a interpretor, it's a translation machine
written in Python, and then there's also things like Iren Python, which is written for the 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 a 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 bite code.
For example, this bite code print's 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
vile, 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 scenes.
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, I 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 bytecode in this bytecode gets run on the Sea Python virtual machine,
which runs on our computers, our phones or laptops, and when we're downloading from Python Dog, 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 in the next one.
Bye bye.