1
00:00:00,330 --> 00:00:07,290
Any program, software or an application is built using a set of instructions that computers will understand.

2
00:00:08,130 --> 00:00:12,960
Usually these instructions are written in something called high level languages.

3
00:00:13,530 --> 00:00:19,100
Examples are C, Java, dot net, python, etc..

4
00:00:20,620 --> 00:00:28,180
In order to write these instructions, an application developer uses a text editor like Notepad, Notepad,

5
00:00:28,180 --> 00:00:32,110
plus plus or advanced editors like Sublime or Eclipse.

6
00:00:33,740 --> 00:00:41,900
So in essence, we can say that the journey of an application begins with a text file, with a set of

7
00:00:41,900 --> 00:00:42,570
instructions.

8
00:00:43,440 --> 00:00:50,010
Now, what do you think will happen if an application developer starts to distribute this file with

9
00:00:50,010 --> 00:00:51,090
a set of instructions?

10
00:00:53,040 --> 00:00:54,920
Will the file work as an application?

11
00:00:55,980 --> 00:01:00,360
Can we distribute it to various users and ask them to use the application?

12
00:01:01,260 --> 00:01:02,180
Absolutely not.

13
00:01:03,380 --> 00:01:10,900
If an end user double clicks on the file, it will just open the set of instruction but does not run as a program.

14
00:01:11,950 --> 00:01:19,360
So in order to make it as a program, the text file with a set of instructions has to be treated with

15
00:01:19,360 --> 00:01:25,260
a special process and make it more suitable to run on all kinds of platforms.

16
00:01:26,650 --> 00:01:29,470
Let us take a real life analogy to understand this better.

17
00:01:30,400 --> 00:01:33,410
Consider all the ingredients to prepare a pizza.

18
00:01:34,320 --> 00:01:39,820
Now, can a restaurant put all these in a box and send it to a customer?

19
00:01:40,470 --> 00:01:43,830
Will the customer be able to enjoy the pizza as as a pizza?

20
00:01:44,490 --> 00:01:45,360
Absolutely no.

21
00:01:46,140 --> 00:01:49,710
So what has to be done to make this pizza ready to eat?

22
00:01:51,690 --> 00:01:56,950
All these ingredients need to undergo a process of cooking to get them ready to eat.

23
00:01:56,970 --> 00:01:57,450
pizza.

24
00:01:58,330 --> 00:02:05,890
Now the restaurant can pack this pizza and delivery to end customer who can directly consume it without having

25
00:02:05,890 --> 00:02:07,090
to know how to cook.

26
00:02:08,090 --> 00:02:13,640
So the important step in converting the ingredients into a pizza is cooking.

27
00:02:14,820 --> 00:02:21,570
Similarly, the process of converting a text file with a set of instructions into a file that can run

28
00:02:21,570 --> 00:02:24,720
on any platform is called compiling.

29
00:02:25,940 --> 00:02:30,410
And the resulting compiled file is called the Portable Binary.

30
00:02:31,440 --> 00:02:38,790
Portable because it can be downloaded by thousands of users and run as an application without the end

31
00:02:38,790 --> 00:02:42,410
user having to know how the programming works.
