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