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 & 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.
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.
JavaScript is the most commonly used programming language in the world.
A simple example of what JavaScript can do is: If this, then that.
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).
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.
If you want to become a backend web developer:
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.
Keep an eye out for Java 9 in 2017.
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.
Python 3.6 was released last month so take a look at the features 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.
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.
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.
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.
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.
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.
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.
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.“
THIS IS THE MOST PATHETIC LIE I HAVE EVER HEARD.
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?
Scenario:
‘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.