below i will provide to you the transcription of a video lesson called "what is a programming language".. Study the content of it, find the meaning the speaker wants to convey and create a text, a lesson that will convey this meaning in an easy to understand way to college students new to the subjects discused in it. this is the transcript : ""1
00:00:00,000 --> 00:00:04,990
There have been hundreds of programming languages since the start of computing.

2
00:00:05,000 --> 00:00:09,990
But at any given time there are perhaps a dozen or so that are popular and by

3
00:00:10,000 --> 00:00:15,990
popular I simply mean that language is used in a lot of current software, it's

4
00:00:16,000 --> 00:00:19,990
used by large numbers of people, and there is an active community and a

5
00:00:20,000 --> 00:00:22,990
significant job market for that language.

6
00:00:23,000 --> 00:00:26,990
Now as the years go by, different languages wax and wane in popularity.

7
00:00:27,000 --> 00:00:31,990
New languages do come along. Some are big hit but most of them aren't.

8
00:00:32,000 --> 00:00:34,990
So this list changes, but it changes slowly.

9
00:00:35,000 --> 00:00:39,990
Now most programmers will learn and use many languages over the course of their

10
00:00:40,000 --> 00:00:44,990
career. Once you have got the basics down, additional languages do become easier to pick up.

11
00:00:45,000 --> 00:00:47,990
A little later in this course we will dive deeper into the most popular

12
00:00:48,000 --> 00:00:54,990
languages, but if you're new to this, you might think why, why are there so many

13
00:00:55,000 --> 00:00:59,990
languages? If all we're doing is writing simple instructions for computer, why

14
00:01:00,000 --> 00:01:02,990
isn't there just one computer language?

15
00:01:03,000 --> 00:01:07,990
Well actually that language does exist, but it isn't any of these.

16
00:01:08,000 --> 00:01:13,990
You see the CPU, the chip, the central processing unit that is the brain of any

17
00:01:14,000 --> 00:01:19,990
computer, desktop, laptop, server, phone, game console, well it doesn't

18
00:01:20,000 --> 00:01:21,990
understand any of these languages.

19
00:01:22,000 --> 00:01:25,990
We might informally say when we are programming that we're writing code the

20
00:01:26,000 --> 00:01:29,990
computer understands, but we are not. Not really.

21
00:01:30,000 --> 00:01:35,990
You see the only thing that chip understands his called machine code or machine language.

22
00:01:36,000 --> 00:01:40,990
Now these are the real instructions that run directly on your computer hardware.

23
00:01:41,000 --> 00:01:44,990
So the question is why don't we just write machine code?

24
00:01:45,000 --> 00:01:47,990
Well because it's almost impossible to do.

25
00:01:48,000 --> 00:01:52,990
It's numerical operations, tiny instructions that work on the smallest pieces of

26
00:01:53,000 --> 00:01:57,990
memory inside your computer and even if you could write it, it's basically

27
00:01:58,000 --> 00:01:59,990
unreadable by anybody else.

28
00:02:00,000 --> 00:02:01,990
This is for the machine.

29
00:02:02,000 --> 00:02:03,990
It's not for a human being.

30
00:02:04,000 --> 00:02:08,990
And because machine code works of the level of the CPU, it would be different

31
00:02:09,000 --> 00:02:11,990
machine code for different models of CPU.

32
00:02:12,000 --> 00:02:16,990
Writing a full program in machine code would be like digging a tunnel through a

33
00:02:17,000 --> 00:02:18,990
mountain with only teaspoons.

34
00:02:19,000 --> 00:02:22,990
It's theoretically possible, but it would take you so long and so tedious that

35
00:02:23,000 --> 00:02:24,990
you wouldn't even try.

36
00:02:25,000 --> 00:02:29,990
So all of these languages, the popular ones and the others, are in fact a

37
00:02:30,000 --> 00:02:32,990
compromise. They are invented languages.

38
00:02:33,000 --> 00:02:36,990
They are just trying to bridge the gap between us as human beings and

39
00:02:37,000 --> 00:02:38,990
the computer hardware.

40
00:02:39,000 --> 00:02:44,990
Now, some of the languages are actually quite close to machine code. The closest

41
00:02:45,000 --> 00:02:46,990
is something known as assembly language.

42
00:02:47,000 --> 00:02:52,990
In general the closer a language is to machine code the more difficult it is to

43
00:02:53,000 --> 00:02:56,990
write and the more you have to know about the actual hardware. And this what's

44
00:02:57,000 --> 00:02:58,990
called a low-level language.

45
00:02:59,000 --> 00:03:03,990
Now as you move away from the CPU into what are called higher-level languages

46
00:03:04,000 --> 00:03:06,990
you worry less about the hardware.

47
00:03:07,000 --> 00:03:10,990
Now this code is often easier to write and to share even across different

48
00:03:11,000 --> 00:03:16,990
platforms, but it can be slower when running because these languages aren't

49
00:03:17,000 --> 00:03:20,990
necessarily optimized directly down to the CPU level.

50
00:03:21,000 --> 00:03:25,990
Having said that, these days speed differences are minimal and we will be

51
00:03:26,000 --> 00:03:31,990
focusing on the high-level languages in this course. But whatever we write has

52
00:03:32,000 --> 00:03:35,990
to be converted down to machine code before it can run.

53
00:03:36,000 --> 00:03:40,990
So while this machine code piece seems like the most important piece, we are not

54
00:03:41,000 --> 00:03:42,990
really interested in machine code.

55
00:03:43,000 --> 00:03:48,990
Sure we do need to know that that's what runs, but programming for us is all

56
00:03:49,000 --> 00:03:50,990
about the source code.

57
00:03:51,000 --> 00:03:56,990
That's what we call the statements we write, Java, C++, Ruby, Python whenever.

58
00:03:57,000 --> 00:04:01,990
We write the source code that will at some point be translated then into machine

59
00:04:02,000 --> 00:04:04,990
code, so it can run on the computer.

60
00:04:05,000 --> 00:04:09,990
When I say I'm writing code, it's source code, and when I say programming or I am

61
00:04:10,000 --> 00:04:11,990
coding, I mean the same thing.

62
00:04:12,000 --> 00:04:16,990
So to start writing any of these programming languages, writing these

63
00:04:17,000 --> 00:04:22,990
statements, writing our source code, we need to understand three things: 1) how

64
00:04:23,000 --> 00:04:28,990
to write it, literally where do we actually start typing this, 2) to understand

65
00:04:29,000 --> 00:04:34,990
how that source code will be converted to machine code, and 3) how do he

66
00:04:35,000 --> 00:04:38,990
actually run it, how do we execute our program?

67
00:04:39,000 --> 00:04:43,990
And some of this does depend on the language that we pick, but let's begin with

68
00:04:44,000 --> 00:04:54,000
how to actually start writing these statements.