What is the best programming language to learn in 2016?

bestprogramminglanguagetolearnin2016

Do you want to learn a programming language, but you have no idea what the best programming language to learn is? Admittedly, there are a lot of programming languages to choose from, even if you only include the most popular ones that dominate job listings all over the world. But once you determine what it is you want to do and what your priorities are, the task becomes much more easier. Let’s see how you can better inform your programming language choice.

I admit the the title question is a tad provocative. The truth is that there is no best programming language to learn. But perhaps there is a programming language out there that is the best for you?

It’s no secret that the IT industry, the software branch in particular, is doing quite well all over the world. In the U.S., the number of job postings for software jobs increased by 31% between the years 2007-2012 – about three times as fast as the average for the entire job economy. According to IDC, the Polish IT services market will have grown to over $4 billion by 2019 at a compound annual growth rate of 4%. It means that there is no reason to think that in the future the demand for software development services will decrease. As a matter of fact, it will almost surely keep on growing. Therefore, there is no need to be desperate about your choices when it comes to programming languages. Many of them will provide your with splending career opportunities. What will really matter is how good you are. Having said that, at the time you make your choice as to what the best programming language to learn is, you should consider at least the following factors:

  • what is it that you want to do,
  • learning curve,
  • popularity and demand,
  • salaries.

Before we get to that, it’s worth it to mention the Tiobe index, which publishes regular reports on the popularity of programming languages. According to the June 2016 report, the first eight programming languages on the list have a market share of 55%, while the first twenty – just over 75%. We’ll be mostly (but not strictly) covering those languages.

 

Choose the right tool for the job

The most important factor that will decide your choice of programming language is what you would like to do. Some languages can be used to do the same job – for example, Java (including the powerful Spring MVC framework), Ruby (especially the Ruby on Rails framework), PHP and Python are all very popular as back-end languages in web development. Some, due to various circumstances, are clear front-runners in certain in certain areas:

JavaScript

– both one of the most loved and hated of all programming languages. Loved, since it’s fairly easy to learn, doesn’t require any runtime environment and has an incredibly forgiving syntax as well as a multitude of frameworks (such as AngularJS or React) and libraries (such as the ubiquitous jQuery) that simplify development. Hated, since it is the only language available for client-side scripting in web development, making it virtually a necessity for everyone who wants to be successful as a programmer for the web. Front end developers don’t get to choose what the best programming language to learn is for them. If you want to be a front-end developer, coding the way websites look and respond to the user action, it is the only choice you have. Even on the server-side, JavaScript is quickly gaining traction, mainly thanks to the popular Node.js development environment. As the web continues to be more and more dependent on JavaScript, it definitely makes sense to choose for web development career.

Python

– first developed 1991, Python maintained high level of popularity over many years. As a matter of fact, it is currently the most popular introductory language for teaching computer science courses. It owes it largely to its great readability that makes learning and writing in Python a pleasant experience. The friendship between Python and science goes far beyond the courses for students. Python is the language of choice for scientific computing. With its large choice of tools for data extraction, it’s popular for data analysis as well as bioinformatics. Therefore, if you want to pursue a career in science, Python is one of your best choices. Some other languages for such applications include R (perhaps the closest thing to Python for data analysis).

Java

– according to the Tiobe index, Java is the most popular programming language in the world. As a general-purpose with 9 million developers, Java can be found in various places. It’s commonly used to develop powerful and complex web applications. It’s the language of choice for Android apps as well as for desktop apps and games. Most remarkably though, Java is extremely popular as a back-end language for enterprise-level applications. It’s report to be used by at least 90% of all Fortune 500 companies! If you would like to succeed in the corporate environment, Java is still one of your best bets. C++ and the .NET framework (which can also be used with the C++ language) are also worth considering. Also, much like Java is the language of choice for the Android platform, Swift and Objective C are indispensable when it comes to mobile apps for Apple devices.

 

Catapult to quick career vs balanced growth

The popularity of Python as an introductory language in universities makes for a good start to one of the most controversial topics when it comes to programming languages – the impact your first programming language has on your ability to grow as a programmer. Python is so popular with first timers, because it gives them access to basic concepts of object-oriented programming and programming in general without making you care about the nuances of how computers work. It’s high-level enough so you can focus just on making your program work, readable enough to make the code easy-to-follow and strongly typed so that the values of variables don’t change without explicit command, which helps novices avoid many typical errors associated with programming in, say, JavaScript. At the very same time, JavaScript may provide a budding programmer with quick career opportunities. Big demand and low barrier to entry in web development makes it a good choice if your priority is to gain marketable skills quickly. As you can see, there are many factors to consider in the best programming language to learn debate. And there are even more to come.

 

Popularity vs demand

To determine how desirable your proficiency in any programming language is, you need to take a look at both its popularity and demand. Understandably, if a programming language is popular with learners, but the demand for it decreases on the job market, it’s bound to be less marketable. If the demand is high and the popularity is low, the market belongs to the employee who can secure a better deal. An extreme example of the former is COBOL – a truly ancient procedural programming language, which is still very much in use in large-scale legacy applications that process business data. Since most of experienced COBOL developers… retired, those who pick up that skill may find themselves into a favorable position. Going back to the most popular choices, the following chart includes the percentage of job listings in the U.S. on Indeed.com out of the total of 159849 for the top 10 most popular programming languages:

sensinumbestlanguagetolearn

As you can see, some languages perform quite poorly on the job market when compared to their overall popularity – it’s especially the case with Perl and Visual Basic and to some extent C and Ruby. The demand for JavaScript greatly exceeds its overall popularity on the Tiobe index, which is great news for JavaScript developers. Some languages, such as Java, C#, Python or PHP are adequately represented on the job market in the U.S. when compared to their overall popularity.

 

Best programming language to learn – the money part

The popularity vs demand dependency is very closely related to the size of salaries on the market. The following table contains data on the median (the most popular) salary for software developers in the U.S. market (based on PayScale.com).

Programming language Median Salary
C $80,521
Ruby (On Rails) $72,650
Python $72,172
Perl $71,839
C++ $69,671
JavaScript $68,687
C# $66,915
Visual Basic $65,726
PHP $62,721

 

While it’s good to know those figures, one shouldn’t trust them too much making their decision. Why? First of all, based on those general numbers alone, it’s impossible to determine how much you’ll be earning. For JavaScript or PHP, the low barrier to entry and considerable demand results in a large number of inexperienced programmers who lower the salary. At the end of the day, the differences between those figures are also not large enough to truly make a difference in your choice. That choice should really come down to what you would really love to do. If you do focus on that and do your best to perfect your craft, you will find your place on the job market. Find the best programming language to learn for your specific needs

Sensinum is a Polish software house providing companies, marketing agencies and teams with top notch software development services. Whether you need a subcontractor or want to cooperate with a software house directly, Sensinum offers you seamless communication and experienced developers regularly working on advanced projects. Give yourself a chance by contacting us and consulting your software idea for free.

Also, get familiar with another of our articles – one that tackles the issue of proof of concept in software development. It’s a great way to avoid wasting time and money in software development projects.

Sebastian
Sebastian Data Engineer / COO