Top Programming Languages to Learn in 2017


kyle-prinsloo by Kyle Prinsloo       Last updated Jan. 1, 2017

One of the most common questions I get asked is this:

“What programming languages should I learn?”

It’s a valid question of course, but it’s almost like someone asking:

“What car should I buy?”

The answer depends on a lot of things in this case. What is your budget? Do you want new or old? Must it be big or small? What specs would you like? etc.

Bringing it back to web development terms, it follows the same pattern of the car scenario.

What is your current web development knowledge? What is the purpose of you studying programming? How much time do you have available? Do you want to work for yourself or for a company? Do you prefer frontend or backend? How much are you willing to invest on learning? etc.

Before getting started, I must mention that programmers are interesting people. If I were to mention ‘x’ programming language, you will get those who say, “but what about ‘y’ programming language?”

Bottom line is this is not a list mentioning all the programming languages available. It’s just a simplified and relevant list for 2017.

With that said, I will try my best to answer this question without offending too many people and at the same time, helping others.


So, “how do you measure the popularity of a programming language?”

According to Wikipedia, it’s not that easy.

Based on what I can see after going through reputable sites like: TIOBE, Trendy Skills, PYPL, Indeed, Google Trends and others, and after speaking with many in the industry, the trend for 2017 is this:


  • JavaScript
  • Java
  • Python
  • TypeScript
  • PHP
  • Ruby on Rails
  • Elixir
  • Rust
  • Go
  • C#
  • Swift


To make things easier to understand, I’ve colour coded it:

The popular programming languages for 2017 are in ORANGE.

The GREEN programming languages are ones you should not neglect.


If you want to become a frontend web developer:

Not sure what a frontend web developer is? Click here
(HTML & CSS are not ‘programming languages’ but I’m putting this in here for beginners)


HTML is the foundation of every website. It’s the ‘raw shell’ and layout of a website.

HTML has an updated version called HTML5 which is dynamic (you can create awesome sites using less code and it does more).

HTML5 is definitely a good 'language' to study within the next 3 years. Steve Jobs has an interesting forecast about it here.

Some cool sites that make use of HTML5 are Peugeot and Lacoste.

Learn HTML here, here and here. Learn HTML5 here and here.



CSS makes the website stylish. This is a great example of what CSS can do.

CSS3 is the latest version of CSS. It’s more dynamic and works hand-in-hand with HTML5. Just like salt and pepper goes together, so it is with HTML5 and CSS3.

Learn CSS here, here and here. Learn CSS3 here.



JavaScript is the most commonly used programming language in the world.
A simple example of what JavaScript can do is: If this, then that.

ES2017 (the updated JavaScript) is launching later this year which will make many developers emotional (with joy).

Once you’ve grasped JavaScript, learn jQuery (a library of different ‘plugins’ to add to your code which saves you a lot of time and makes it much easier for you to add a feature).

Learn JavaScript here, here, here, here and here. Learn jQuery here, here and here.



TypeScript is a statically typed language that compiles to JavaScript. Version 2.1 includes all the new features of JavaScript with optional static types.

Other benefits are stronger checks against bugs in your code and typos, async/await and more.

It’s also the most popular language for writing Angular 2 apps.

Learn TypeScript here, here, and here.



If you want to become a backend web developer:

Not sure what a backend web developer is? Click here


Java is always a good long term bet and looking at the stats, it doesn’t seem to be going away any time soon.

It’s used by over 10 million developers and 15 billion (that’s not a typo) devices run Java worldwide!

Java is used to create Android Apps, software, games and website content.

Some websites that use Java are LinkedIn, eBay and Amazon.

Keep an eye out for Java 9 in 2017.

Learn Java here, here, here, here, here, here, here and here.



Python is similar to PHP and Ruby in the sense that it is an object-orientated language. It closely resembles the English language so it’s a great language to learn for beginners as well as seasoned professionals.

Sites like Instagram, YouTube, Reddit and NASA use aspects of Python.

Python 3.6 was released last month so take a look at the features here.

Learn Python here, here, here, here, here, here and here.



PHP is the most popular server-side programming language. It's often used as the foundation of CMS’ (Content Management Systems) like WordPress and big websites like Facebook and Wikipedia.

PHP 7.1 was released last month so take a look at the features here.

Learn PHP here, here, here, here and here.



Ruby on Rails (a noteworthy framework) is like ‘jQuery for JavaScript’. It makes it much easier to use Ruby, but it’s advised that you have a good understanding of Ruby before you utilize Rails.

The reason why Ruby on Rails is a great and popular choice is because many businesses (small and large) make use of it. Some businesses are: Airbnb, Groupon, Twitter and Shopify.

Make sure you have a decent understanding of JavaScript as you will need to use JavaScript when you advance in Rails. Also make sure you know Git and GitHub (recommended).

Ruby on Rails 5.1 was released last month so take a look at the features here.

Learn Ruby on Rails here, here, here and here.

Get Michael Hartl’s Ruby on Rails Guide here.



Rust is a general-purpose language that helps developers create fast, secure applications which takes advantage of the powerful features of modern multi-core processors.

It’s also the most loved language on Stackoverflow for 2016 which says a lot.

Sites that use Rust are: Dropbox and Coursera.

Learn Rust here and here.



Elixir is a dynamic, functional language designed for building scalable and maintainable applications.

One of the main benefits is concurrency. In short, it’s great for large applications that handle a lot of tasks at once.

Sites that use Elixir are: Pinterest, Moz and Bleacher Report.

Learn Elixir here, here, and here.



Go (or GOLANG) is created by Google and it's gaining popularity which will only grow in 2017.

It compiles fast and it has an excellent standard library that is also great with concurrent programs as well.

Sites that use go are: Netflix, YouTube and Adobe.

Learn Go here, here and here.



C# (‘see-sharp’) is not only limited to the programming language for Microsoft’s .NET Framework.

It’s also used for Windows applications and Android/iOS Apps with the technology from Xamarin.

Version 7.0 will be released in 2017 with some amazing features.

Learn C# here, here, here and here.



Swift is one of the fastest growing programming languages in history! It’s built by Apple (not the granny smith apple) and they have big plans for it so it would be good to take note of it as the popularity grows.

Swift is what you learn if you’d like to become an iOS App Developer.

Their latest release is 3.0.2 which you can check out here.

For the best Swift courses out there, learn here, here and here.



If you want to become a fullstack web developer:

Not sure what a fullstack web developer is? Click here



Learn HTML, CSS, Bootstrap, TypeScript, and 2 backend languages that you prefer.



Remember, it’s NOT about how much you KNOW, but rather what you DO with what you know.


What I mean by this is just because you know JavaScript, Python, C#, Elixir, etc, etc. like a grand master, it does not mean that you are guaranteed a job.

The biggest myth in programming is:

“I know more programming languages than you, so I will be more successful.“


You can know the most advanced programming languages, but if you can’t apply it properly and create a website or web app that meets the client’s needs then what is the point with all that knowledge?


‘Bob’ knows HTML, CSS, JavaScript, Bootstrap, SQL, Java and PHP, technically he should (by conventional norm) be able to create way better websites/apps than someone like ‘Fred’ who only knows HTML, CSS, Bootstrap and basic JavaScript.

Of course this is not always true. ‘Fred’ could just APPLY his knowledge and skills better than ‘Bob’ and create far better sites that look good and achieves the client's needs.


Just because you have knowledge of all the programming languages, it does not mean that you can create a better website than someone who knows half as much as you do.

Read my article Interview Tips for Web Developers which goes into this in more detail.

If you are a complete beginner, read this article.



In concluding, I’ve studied a few courses through Thinkful and they are offering an exclusive discount to SWD readers. Click here to view their courses and get between $50-$250 off.

Also check out my Firehose Project Review. You can get 2 weeks free with them here.


If you found this article helpful, please let me know on Twitter, Facebook or Instagram.

Keep moving forward and keep coding!

If you like this post and want more posts like it,
click the 'I want to grow' button above and I will
send you awesome, actionable articles to advance
your career and grow your freelancing business.