1 00:00:00,180 --> 00:00:04,100 What is a programming language. 2 00:00:04,170 --> 00:00:07,920 If someone asked you this question can you answer it. 3 00:00:09,330 --> 00:00:13,830 Programming is simply a way for us to give instructions to computers. 4 00:00:14,840 --> 00:00:20,540 We give it an instruction manual and the computer follows without code. 5 00:00:20,540 --> 00:00:23,900 Computer programs wouldn't do anything. 6 00:00:23,900 --> 00:00:27,650 You wouldn't be able to move the mouse around on your screen. 7 00:00:27,650 --> 00:00:33,550 You wouldn't be able to Google things you wouldn't be able to play Pokemon on your phone right. 8 00:00:33,560 --> 00:00:36,920 I can't just tell my computer what to do. 9 00:00:36,950 --> 00:00:43,670 You see computers don't understand English or any other human language for that matter. 10 00:00:43,670 --> 00:00:55,440 So what language do computers speak well they speak in ones and zeros all electronics speak that language 11 00:00:55,710 --> 00:01:04,860 of on or off zero or 1 but writing ones and zeros would be gibberish for us. 12 00:01:04,860 --> 00:01:06,730 It's hard for us to communicate like that. 13 00:01:06,780 --> 00:01:07,060 Right. 14 00:01:07,830 --> 00:01:15,380 So humans have developed programming languages that are in between human language and machine language. 15 00:01:15,660 --> 00:01:23,180 That is zeros and one some programming languages are lower level than others. 16 00:01:23,190 --> 00:01:30,350 That is they're closer to machine language and other programming languages are higher level than others. 17 00:01:30,390 --> 00:01:39,780 That is they're closer to English or a human language and there are lots of programming languages. 18 00:01:39,880 --> 00:01:44,810 You have languages like assembly that is really really close to machine code. 19 00:01:44,920 --> 00:01:51,870 You have languages like Python and javascript that are really really close to English. 20 00:01:51,920 --> 00:01:53,930 That's great. 21 00:01:53,930 --> 00:01:55,000 We have these pieces. 22 00:01:55,010 --> 00:01:58,330 But what are we missing here. 23 00:01:58,340 --> 00:02:05,370 I mean if I want to find flights to Hawaii how do we go from here to. 24 00:02:05,390 --> 00:02:12,530 Well having let's say a Web site show us a display of all our flights telling the computer to show those 25 00:02:12,530 --> 00:02:18,210 flight information on our screen what are we missing here. 26 00:02:18,210 --> 00:02:26,550 Well we have these programming languages that we usually write on a file such as Python javascript maybe 27 00:02:26,550 --> 00:02:27,170 even Java. 28 00:02:27,510 --> 00:02:35,640 And then we somehow need to get these files that we write into ones in zero so that the our machines 29 00:02:35,700 --> 00:02:37,490 can understand. 30 00:02:37,660 --> 00:02:41,300 Well we need a translator right. 31 00:02:42,650 --> 00:02:50,750 We take our code that we write what we call a source code written in a programming languages and we 32 00:02:50,750 --> 00:02:58,000 give that to a translator that can understand that language but also understands machine language. 33 00:02:58,190 --> 00:03:03,500 And this translator just translates these files for us. 34 00:03:03,730 --> 00:03:05,350 So what is this. 35 00:03:05,350 --> 00:03:08,040 TRANSLATOR It's not really a person right. 36 00:03:08,050 --> 00:03:12,610 I'm not giving my code to somebody and somebody is going to just start shouting at the computer and 37 00:03:12,730 --> 00:03:14,670 be quite silly. 38 00:03:14,710 --> 00:03:19,570 What is this translator ready to have your mind blown. 39 00:03:19,570 --> 00:03:30,240 Well it's a nother program written by a human it can either be an interpreter or a compiler. 40 00:03:30,360 --> 00:03:38,190 Now Python usually uses an interpreter usually an interpreter. 41 00:03:38,260 --> 00:03:46,270 Just like a translator goes line by line through our code and executes our code on our machine. 42 00:03:47,360 --> 00:03:50,660 Compilers are a little bit different. 43 00:03:50,720 --> 00:03:59,630 They take your code all at once read the entire file all at once and then translate that to machine 44 00:03:59,630 --> 00:03:59,840 code. 45 00:04:00,440 --> 00:04:09,020 So again interpreter goes line by line and each line executes an instruction a compilers takes the entire 46 00:04:09,020 --> 00:04:12,830 file and turns it into machine code. 47 00:04:12,830 --> 00:04:19,590 Now the differences between these two are a little complicated and beyond the scope of the course. 48 00:04:19,730 --> 00:04:25,070 And don't worry we're going to come back to this topic but I want you to just have this general picture 49 00:04:25,460 --> 00:04:34,630 that when we write code whether it's Python JavaScript Java C or C++ what we're doing is we're typing 50 00:04:34,630 --> 00:04:37,840 it in a language that is human readable. 51 00:04:37,840 --> 00:04:43,690 We're giving it to one of these translators like an interpreter or a compiler. 52 00:04:43,870 --> 00:04:53,310 And these spit out code that are able to run on our machines so to review interpreters translate. 53 00:04:53,310 --> 00:05:01,860 Line by line and execute the line before going to the next line compilers translate all lines of a program 54 00:05:02,370 --> 00:05:11,410 to a file usually called a binary and execute the whole file at once now in the next video we're going 55 00:05:11,410 --> 00:05:16,710 to talk about this process a little bit more in detail especially on how it works with python. 56 00:05:17,290 --> 00:05:19,210 But why did I start with this. 57 00:05:19,210 --> 00:05:21,950 I mean this is a complex topic. 58 00:05:22,000 --> 00:05:26,740 Most developers especially if they're starting out don't even know of this process. 59 00:05:26,770 --> 00:05:29,530 They just know that they write code and then it runs. 60 00:05:29,560 --> 00:05:32,490 So why did I teach this here. 61 00:05:32,620 --> 00:05:40,260 Because in order for us to be able to write Python code well I can't just write it anywhere. 62 00:05:40,390 --> 00:05:48,820 Right if you work right now to your computer and let's say you opened up a text file like this one and 63 00:05:48,880 --> 00:05:54,940 you started typing Python code but for now we don't know Python so let's just say I want to go search 64 00:05:55,180 --> 00:06:04,590 for Pokemon Well this might be code we don't know if it is but I can't just use this right. 65 00:06:04,600 --> 00:06:11,180 I mean this isn't really Python code but how would my computer know what I'm talking about in order 66 00:06:11,180 --> 00:06:14,060 for us to start writing Python. 67 00:06:14,090 --> 00:06:22,060 We need to download this translation service in the next video I'm going to show you how to do that. 68 00:06:22,130 --> 00:06:22,790 I'll see in that one.