One question that students often ask when they're considering a career
in software development is what programming language should I learn?
There's really no easy answer to that question.
Experienced professional programmers generally know many
programming languages and use them based on many factors.
The question I'd like to address in this video is why learn C++.
Let's start with C++ popularity.
Much, if not most of the software written today is still written in C++
and this has been the case for many, many years.
There are many programming language popularity indexes
that use different criteria for ranking the popularity of programming languages.
Let's head over to a browser and we'll look at a few of them.
I've opened up a browser,
and I've loaded several sites that rank programming languages based on popularity.
All of the data I'm showing is current as of November 2017.
So depending on when you access the site, your results may differ.
Each site uses their own criteria and I encourage you to browse through these sites.
I've provided the URLs for these sites in the course resources.
First let's look at the Tobi index. As you can see,
++ is currently ranked third.
If you select that row,
you can learn more about C++ popularity since 2001.
It's pretty impressive for language to be ranked so consistently for so long
considering how many new languages and frameworks appear on the scene.
The next site is the PYPL popularity index.
As you can see C++ is currently ranked sixth.
Next, we'll look at the IEEE Spectrum Rankings.
On IEEE Spectrum, C++ is ranked number four.
The Redmonk ranking has C++ at number six.
And finally, we'll take a look at Zdnet's rankings,
they combine popular indexes and create an ensemble ranking,
which shows C++ at number four.
They also provide an analysis of the data that's a good read.
Let's return to the slides.
As you can see from these sites,
C++ is still a very popular language among software developers
and the ranking is consistently high.
If you go to GitHub,
you'll see that there's a huge number of active C++ repositories,
and C++ is also extremely active on stack overflow.
Popularity is important, but C++ is also a relevant language.
There are many, many leading software titles written entirely or partly in C++.
These include the windows, Linux and MacOS 10 operating systems,
many of the adobe products such as photoshop and illustrator,
the mysql and mongodb database engines and many, many more.
Leading tech companies UC++ for many of their
products and internal research and development.
These include Amazon, Apple, Microsoft, PayPal,
Google Facebook, Oracle and more.
Finally. The types of projects that C++ is being used on
are pretty cool.
In many cases, these are the engines that drive many popular frameworks.
For example, engines for virtual reality, the unreal game engine,
machine learning, network and telecom and more.
There are many reasons why C++ is so popular and relevant,
but the main reason is because it's so powerful.
What do I mean by powerful? C++ is super fast.
It's a general purpose programming language that supports both
procedural and object-oriented programming, making it very flexible.
It scales easily and it can also be portable.
C++ can do many things that other languages just can't,
that's why nearly every major language has a way to interface
with the code written in C++.
With all this power and flexibility comes complexity,
there's no question that C++ is one of the most complex
programming languages out there but learning the basics is pretty easy
and that's what this course is all about.
Finally, you've probably heard that C++ programmers command higher salaries.
This is true.
You may have even heard the phrase C++ equals salary++.
Career opportunities are out there for C++ programmers.
I've consulted for many years with major U.S corporations
on the hiring of software developers.
This includes full stack developers, java developers
iOS and android developers and C++ developers.
Having C++ skills on your resume
is often like a badge of honor amongst software developers,
and many times it'll get you that job interview. Why?
Because C++ programmers have a skill set
that sets them apart from many other programmers.
One final thought, since so many programming languages
are influenced by C++,
learning new languages is often easier since you already have solid foundation
in a root programming language, like C++.
As you can see you've made a good choice in learning C++.
In the next video, we'll briefly look at the evolution of C++
and the C++ standard.