13 Best Programming Languages to Learn

What programming languages should I learn?

It’s one of the most popular questions that gets asked. The only issue with that question is that it’s almost like someone asking what car they should buy.

The answer depends on a lot of things. Do you want new or used? What shape would you like? What specs must it have?

With web development, it follows exactly the same pattern of the car scenario.

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

Getting started

Note that this is just a simplified and relevant list for 2017 and not all the programming languages out there.

I will try my best to answer this question as honestly as possible.

According to Wikipedia, it’s not that easy to measure the popularity of a programming language.

After researching and analyzing reputable websites like PYPL, TIOBE, Trendy Skills, Google Trends, Indeed and after speaking with many experts, the trend for 2017 is:

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

I’ve highlighted the logos by color to make it easier to understand.

  • GREEN logos= The programming languages you should not neglect.
  • ORANGE logos = The popular programming languages for 2017.

If you’d like to become a front end web developer

(HTML & CSS are not ‘programming languages’ but I’m putting this in here for beginners)

html logo

HTML

HTML is the layout and ‘raw shell’ of a website.

HTML5 is the latest version of HTML and it’s dynamic which means that you can create beautiful sites with less code and it does more. It’s a great ‘language’ to learn over the next 3 years. Read what Steve Jobs has to say about it here.

Example sites that use HTML5 are Peugeot and Lacoste.

css logo

CSS

CSS styles a website. Examples of what it can do can be found here.

CSS3 is the latest version of CSS and it’s dynamic as well. HTML5 and CSS3 go together – just like salt and pepper  🙂

Learn CSS here.

javascript logo

JavaScript

As Usersnap stated in the article on the best web development trends for 2017JavaScript is the most commonly used programming language in the world.

JavaScript can be illustrated by If this, then that.

The latest version of JavaScript (ES2017) is launching in late 2017 and developers are already emotional about it (out of joy).

Learn jQuery once you understand JavaScript. This is a library of different ‘plugins’ to add to your code which saves you time and makes it much easier for you to add a feature.

PS: JS can also be a backend language, but to keep it simple I have just listed it in the front end section.

Learn JavaScript here.

typescript logo

TypeScript

TypeScript is a statically typed language that compiles to JavaScript and it’s growing fast! The new version 2.1 includes all the new features of JavaScript with optional static types.

Additional benefits are improved checks against bugs in your code and any typos, async/await and more.

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

Learn TypeScript here and here.

If you’d like to become a backend web developer

java

Java

No list will be complete without Java. In the long run, it’s always a great choice and the stats suggest it’s not going away anytime soon.

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

Learn Java if you are interested in creating Android apps, games, software and website content.

Example sites that use Java are Amazon, LinkedIn, and eBay.

Java 9 is launching in 2017 so definitely check it out when it’s ready.

Learn Java here.

python logo

Python

Python is an object-orientated language that closely resembles the English language which makes it a great language to learn for beginners as well as seasoned professionals.

Examples sites that use Python are Instagram, YouTube, Reddit, NASA, and Usersnap (who wrote about their Python experience here) 🙂

Python 3.6 was released in December 2016 with some awesome features.

Learn Python here.

rust logo

Rust

Rust is the most loved programming language on StackOverflow for 2016 which says a lot.

It’s a general-purpose language to create fast, secure applications which take advantage of the powerful features of modern multi-core processors.

Example sites that use Rust are Dropbox and Coursera.

Learn Rust here and here.

php logo

PHP

PHP is the most popular server-side programming language in the world.

It’s generally used as the foundation of Content Management Systems for WordPress and other websites like Wikipedia and Facebook.

PHP 7.1 was released in December 2016. View the features here.

Learn PHP here, and here.

elixir logo

Elixir

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

Concurrency is one of its main benefits. It’s great for large applications that handle a lot of tasks at the same time.

Example sites that use Elixir are Pinterest, Moz, and Bleacher Report.

You can learn Elixir here.

golang logo

Go

Go (or GOLANG) is created by Google and it’s only going to grow in popularity in 2017.

It has an excellent standard library and it compiles fast. It’s also great with concurrent tasks and programs as well.

Example sites that use Go are Netflix, YouTube, and Adobe.

Learn Go here, and here.

ruby on rails logo

Ruby on Rails

Ruby on Rails (a notable 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.

Rails is a popular choice because many businesses make use of it. Some businesses are Airbnb, Groupon, Twitter, and Shopify.

Also, make sure you have a good understanding of JavaScript as you will need to use it when you advance in Rails.

Ruby on Rails 5.1 was released in December 2016 so take a look at the new features here.

I recommend Michael Hartl’s Ruby on Rails Guide here.

c sharp logo

C#

C# (‘see-sharp’) is a widely-used programming language. It’s not only limited to Microsoft’s .NET Framework.

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

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

Learn C# here, and here.

swift logo

Swift

Swift is one of the fastest growing programming languages in history!

It’s built by Apple (not the one you eat) and they have some big plans for it so it would be good to take note of it now.

If you’d like to become an iOS App Developer, learn Swift.

Their latest release is 3.0.2 can be viewed here. Take these Swift courses here, and here.

Wrapping it up.

full stack programming languages

If you’d like to become a full stack web developer, I’d recommend learning the basics of HTML, CSS and Bootstrap then once you advance and progress, learn TypeScript and 2 backend languages that you prefer.

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

Remember that just because you know JavaScript, C#, Ruby, Go, etc. like a grand master, it does not mean that you are guaranteed a job.

This is the biggest programming myth:

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

If it were true for all job interviews, the person who knows the most will ALWAYS get the job. If you live in the ‘real world,’ we both know that this is far from the truth. This fact alone is a testament to that fact that it’s not ONLY the skillset that guarantees you the job…

Let me give you an example.

‘Bob’ knows HTML, CSS, JavaScript, Bootstrap, SQL, Java and PHP, technically he should 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.

developer conversation

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.

Thank you Kyle Prinsloo for this Amazing post.

Leave a Comment: