WEBVTT

0
00:05.910 --> 00:11.550
One question that students often ask when they're considering a career in software development is what

1
00:11.550 --> 00:13.700
programming language should I learn.

2
00:13.740 --> 00:16.130
There's really no easy answer that question.

3
00:16.200 --> 00:21.450
Experienced professional programmers generally know many programming languages and use them based on

4
00:21.450 --> 00:22.740
many factors.

5
00:22.740 --> 00:26.820
The question I'd like to address in this video is why learn C++?

6
00:27.770 --> 00:34.520
Let's start with C++'s  popularity much if not most of the software written today is still written in

7
00:34.560 --> 00:38.680
C++ and this has been the case for many many years.

8
00:38.690 --> 00:44.510
There are many programming language popularity indexes that use different criteria for ranking the popularity

9
00:44.690 --> 00:46.070
of programming languages.

10
00:46.220 --> 00:48.840
Let's head over to a browser and we'll look at a few of them.

11
00:51.390 --> 00:56.950
I've opened up a browser and I've loaded several sites that rank programming languages based on popularity

12
00:57.900 --> 01:01.840
all of the data I'm showing is current as of November 2017.

13
01:01.890 --> 01:08.000
So depending on when you access the site your results may differ. Each site uses their own criteria and

14
01:08.000 --> 01:13.940
I encourage you to browse through these sites. I've provided you URLs for these sites in the course resources.

15
01:13.970 --> 01:20.220
First let's look at the Tiobe index as you can see C++ is currently ranked third.

16
01:20.240 --> 01:26.520
If you select that row you can learn more about C++'s popularity since 2001.

17
01:26.540 --> 01:31.340
It's pretty impressive for a language to be ranked so consistently for so long considering how many

18
01:31.340 --> 01:34.220
new languages and frameworks appear on the scene.

19
01:34.220 --> 01:42.340
The next site is the white PYPL popularity index. As you can see C++ is currently ranked sixth.

20
01:42.350 --> 01:49.220
Next we'll look at the IEEE spectrum rankings.  On IEEE spectrum, C++ is ranked number four.  The

21
01:49.220 --> 01:53.450
redmonk ranking has C++ at number six.

22
01:53.510 --> 01:56.130
And finally we'll take a look at the ZDNet rankings.

23
01:56.210 --> 02:02.030
They combine popular indexes and create an ensemble ranking which shows C++ at number four.

24
02:03.240 --> 02:05.200
They also provide an analysis of the data

25
02:05.200 --> 02:06.860
that's a good read.

26
02:06.900 --> 02:11.000
Let's return to the slides. As you can see from these sites.

27
02:11.070 --> 02:16.910
C++ is still a very popular language among software developers and the ranking is consistently high.

28
02:17.130 --> 02:23.220
If you go to GitHub you'll see that there is a huge number of active C++ repositories. And C++ is also

29
02:23.220 --> 02:26.080
extremely active on stack overflow.

30
02:26.090 --> 02:29.900
Popularity is important but C++ is also a relevant language.

31
02:29.910 --> 02:35.160
There are many many leading software titles written entirely or partly in C++.

32
02:35.160 --> 02:39.480
These include the Windows, Linux,  and MacOSX  operating systems.

33
02:39.480 --> 02:42.900
Many of the Adobe products such as Photoshop and Illustrator.

34
02:42.900 --> 02:50.080
The MySQL and MongoDB database engines and many many more. Leading tech companies use C++ for many

35
02:50.080 --> 02:52.900
of their products and internal research and development.

36
02:52.900 --> 02:58.870
These include Amazon, Apple, Microsoft, PayPal, Google, Facebook, Oracle and more.

37
02:58.910 --> 03:03.760
Finally, the types of projects that C++ is being used on are pretty cool.

38
03:03.950 --> 03:08.240
In many cases these are the engines that drive many popular frameworks.

39
03:08.360 --> 03:14.630
For example engines for virtual reality, the Unreal game engine, machine learning, network and telecom

40
03:14.630 --> 03:16.100
and more.

41
03:16.160 --> 03:22.150
There are many reasons why C++ is so popular and relevant but the main reason is because it's so powerful.

42
03:22.370 --> 03:24.050
What do I mean by powerful?

43
03:24.050 --> 03:26.090
C++ is super fast.

44
03:26.120 --> 03:31.910
It's a general purpose programming language that supports both procedural and object oriented programming

45
03:32.210 --> 03:33.980
making it very flexible.

46
03:34.310 --> 03:41.800
It scales easily and it can also be portable.  C++ can do many things in other languages just can't.

47
03:41.810 --> 03:47.240
That's why nearly every major language has a way to interface with the code written in C++.

48
03:47.240 --> 03:52.490
With all this power and flexibility comes complexity. There's no question that C++ is one of the most

49
03:52.490 --> 03:54.600
complex programming languages out there.

50
03:54.680 --> 03:58.340
But learning the basics is pretty easy and that's what this course is all about.

51
03:59.180 --> 04:03.630
Finally,  you probably heard that C++ programmer's command higher salaries.

52
04:03.830 --> 04:10.610
This is true! You may have even heard the phrase C++ = Salary++. Career opportunities

53
04:10.610 --> 04:12.850
are out there for C++ programmers.

54
04:12.860 --> 04:17.890
I've consulted for many years with major US corporations on the hiring of software developers.

55
04:17.960 --> 04:24.980
This includes full stack developers, Java developers, iOS and Android developers and C++ developers.  Having

56
04:24.980 --> 04:31.000
C++ skills on your resume is often like a badge of honor among software developers and many times it

57
04:31.000 --> 04:32.530
will get you that job interview.

58
04:32.810 --> 04:33.500
Why?

59
04:33.530 --> 04:39.110
Because C++ programmers have a skill set that sets them apart from many other programmers.

60
04:39.110 --> 04:45.580
One final thought.  Since so many programming languages are influenced by C++, learning new languages is

61
04:45.590 --> 04:51.710
often easier since you already have solid foundation in a root programming language like C++.

62
04:51.710 --> 04:56.930
As you can see you've made a good choice in learning C++. In the next video we'll briefly look at the

63
04:56.930 --> 04:59.720
evolution of C++ and the C++ standard.