1 00:00:01,370 --> 00:00:01,940 Welcome back. 2 00:00:02,480 --> 00:00:10,610 We just learned what a programming language is, it's just a set of instructions that we give to a translator 3 00:00:11,180 --> 00:00:14,750 and this translator can be an interpreter or a compiler. 4 00:00:15,140 --> 00:00:23,150 And we give these files that we create our own code, our source code to these translators, and they 5 00:00:23,390 --> 00:00:27,700 allow us to give instructions to machines, to computers, to phones. 6 00:00:28,460 --> 00:00:35,840 So we learned that we need these machines in order for us to write, Python write. 7 00:00:36,660 --> 00:00:37,800 How can we get these? 8 00:00:38,370 --> 00:00:45,960 Well, we download them and here we download Python from the Python Software Foundation from Python, 9 00:00:45,960 --> 00:00:46,590 Doug. 10 00:00:47,620 --> 00:00:54,460 Now, before we download Python, we're going to wait a little bit, because in this course, I want 11 00:00:54,460 --> 00:01:01,510 you to understand why we're doing things, not just follow my tutorials, follow my videos and, well, 12 00:01:01,780 --> 00:01:06,130 not understand the meaning and the fundamentals behind what we're doing. 13 00:01:06,130 --> 00:01:10,400 Things you should be able to teach, what you're going to learn. 14 00:01:10,870 --> 00:01:12,900 So let's take a pause here for a second. 15 00:01:13,860 --> 00:01:20,490 If this is the first time that you're learning a programming language, I have some good news for you. 16 00:01:21,270 --> 00:01:25,260 At the end of the day, all programming languages do the same thing. 17 00:01:26,220 --> 00:01:27,870 They tell the machine what to do. 18 00:01:28,440 --> 00:01:31,510 However, different languages have different ways of doing it. 19 00:01:32,460 --> 00:01:36,770 The beauty is that most languages have very similar principles. 20 00:01:37,720 --> 00:01:43,120 If this is your first programming language, well, this is going to be the hardest part, learning 21 00:01:43,120 --> 00:01:51,130 the first one afterwards, every new language you learn becomes easier and easier in the sense that 22 00:01:51,130 --> 00:01:58,060 it's not the same as, let's say, learning English and Japanese two very distinct languages in programming. 23 00:01:58,240 --> 00:02:03,400 Things become a lot easier as you learn that first foundational language. 24 00:02:03,910 --> 00:02:10,900 Now, if this is not your first language and let's say you've written code in C, C++ or JavaScript 25 00:02:11,230 --> 00:02:16,800 and you just want to learn Python, well, you're going to find these first couple of videos quite easy. 26 00:02:16,810 --> 00:02:17,970 But bear with me. 27 00:02:18,100 --> 00:02:18,670 Trust me. 28 00:02:18,670 --> 00:02:23,440 We're going to get into some advanced topics here and we're going to make you a full fledged developer 29 00:02:23,440 --> 00:02:24,210 by the end of this. 30 00:02:24,550 --> 00:02:29,320 But let's go back to this topic at hand, this idea of downloading this translator. 31 00:02:29,980 --> 00:02:37,870 The thing is, when people refer to Python, the language, they're most likely talking about the implementation. 32 00:02:38,470 --> 00:02:45,460 That is, they're talking not about the language itself, because Python, the language is just a specification. 33 00:02:45,580 --> 00:02:51,430 You can think of it as a document that somebody wrote that says, hey, when I write the words def, 34 00:02:51,610 --> 00:02:53,170 that means something in Python. 35 00:02:53,710 --> 00:02:58,450 And when I write something like print, that means something in Python. 36 00:02:58,450 --> 00:03:06,070 But the translation machines, well, we can have tons of them, different interpreters, different 37 00:03:06,070 --> 00:03:06,850 compilers. 38 00:03:07,780 --> 00:03:16,990 For example, Python dawg, when you click download here, you're actually downloading this, the C 39 00:03:17,020 --> 00:03:21,210 Python, because it's written in the C programming language. 40 00:03:21,700 --> 00:03:23,410 This is what you're downloading. 41 00:03:24,700 --> 00:03:33,280 It's a program redundancy to read your Python file and well run it on a machine. 42 00:03:34,730 --> 00:03:42,080 But there's other implementations, for example, there's the Jiten project, and this is a translator 43 00:03:42,410 --> 00:03:45,170 that is written in the Java language. 44 00:03:46,230 --> 00:03:55,110 There is Pippi, which is actually written in Python, so it's a interpretor, it's a translation machine 45 00:03:55,410 --> 00:04:04,280 written in Python, and then there's also things like Iren Python, which is written for the net framework. 46 00:04:04,800 --> 00:04:06,480 So here's a little trick question. 47 00:04:07,230 --> 00:04:15,000 When you download from Python, the official language is actually C Python. 48 00:04:15,540 --> 00:04:21,510 You're downloading this interpreter that follows the Python specification. 49 00:04:22,050 --> 00:04:25,770 But at the end of the day, it's a machine built by somebody. 50 00:04:26,580 --> 00:04:29,330 But these machines can well come in many forms. 51 00:04:29,910 --> 00:04:37,920 So when most people talk about Python, they're talking about this one C Python that, well, does our 52 00:04:37,920 --> 00:04:39,210 translation for us. 53 00:04:39,210 --> 00:04:45,710 It interprets our python code and runs it on a machine. 54 00:04:46,470 --> 00:04:48,270 So we're downloading this. 55 00:04:49,280 --> 00:04:54,230 And if you want to really get into details as to what we're downloading, what we're downloading, a 56 00:04:54,230 --> 00:04:58,400 machine that takes our Python code, which, don't worry, we're going to write. 57 00:04:59,090 --> 00:05:03,920 And it goes through the interpreter, which we download using C Python. 58 00:05:04,400 --> 00:05:10,760 And this C Python is going to create something called a bite code. 59 00:05:11,210 --> 00:05:16,370 For example, this bite code print's hello world on our screen. 60 00:05:18,240 --> 00:05:24,980 Now, this might look like gibberish to you and even for me, I don't know, by code, this looks pretty 61 00:05:24,990 --> 00:05:26,670 vile, confusing just for printing. 62 00:05:26,670 --> 00:05:28,140 Hello, world to the screen. 63 00:05:29,160 --> 00:05:32,710 Well, the interpreter does that automatically for us. 64 00:05:32,760 --> 00:05:34,870 We see we don't see it, it's behind the scenes. 65 00:05:35,310 --> 00:05:43,530 Now, once it creates a bytecode that is closer to machine code, it then uses the C Python virtual 66 00:05:43,530 --> 00:05:52,410 machine again, just something that runs this code and then this code gets run on our machine. 67 00:05:53,340 --> 00:05:57,330 Now, you're never, ever going to be asked this question in an interview. 68 00:05:57,360 --> 00:06:03,870 I mean, maybe and most of all, I don't know this, but I want you to use this as a reference that 69 00:06:03,900 --> 00:06:09,770 when we write Python code throughout the rest of this course, this is what's happening. 70 00:06:10,380 --> 00:06:11,640 We're writing Python. 71 00:06:12,240 --> 00:06:15,510 It goes gets interpreted line by line. 72 00:06:16,390 --> 00:06:24,010 And formed into what we call bytecode in this bytecode gets run on the Sea Python virtual machine, 73 00:06:24,790 --> 00:06:32,410 which runs on our computers, our phones or laptops, and when we're downloading from Python Dog, we're 74 00:06:32,410 --> 00:06:39,100 downloading these two pieces so that once we have them downloaded, we can run Python. 75 00:06:40,260 --> 00:06:44,380 All right, that was a tough one and I mean, we just got started. 76 00:06:44,400 --> 00:06:47,370 I hope your brain is an exploding again. 77 00:06:47,400 --> 00:06:49,680 This is something for you to use as a reference. 78 00:06:50,100 --> 00:06:51,240 But you know what? 79 00:06:51,240 --> 00:06:55,310 I think it's time for us to learn how to actually run Python code. 80 00:06:55,410 --> 00:06:57,170 And don't worry, we are getting there. 81 00:06:57,210 --> 00:07:00,850 We are going to write our first Python program very soon. 82 00:07:01,380 --> 00:07:02,310 I'll see in the next one. 83 00:07:02,870 --> 00:07:03,420 Bye bye.