The software engineering craft has been steadily growing in popularity for the past couple of decades. The innovations in technological startups and companies depending on digital sales, along with groundbreaking research in AI and the latest developments in Internet of things, are promising for technical professionals considering long-term opportunities in the software development industry.

According to the European Commission:

As a sector, ICT is growing rapidly and creating about 120,000 new jobs each year. But due to differences in demands and skills, and despite high unemployment – especially among the young – Europe could face a shortage of up to 900,000 skilled ICT workers by 2020.

New technologies and frameworks emerge on a daily basis, and software programmers often feel threatened if they invest in a technology that could cease to exist over the next years. Luckily, TIOBE has been maintaining a popularity index of programming languages since 2001, monitoring multiple channels and job boards for the latest trends in the programming industry. Here is the list of the most popular programming languages in 2017 based on research data as of February 2017:

Programming language popularity since June 2001

20. Scratch

Scratch has just entered the top 20 chart after being used mainly for educational purposes. It is a free software programming language created in MIT Media Labs and its repository now hosts over 20 million Scratch projects with an actively increasing number of new users each month.

19. Objective-C

Objective-C ranked in top 3 back in March 2015. The programming language designed for building OS X and iOS applications was the main tool for mobile developers building applications for iPhone and iPad devices.

The Android market, however, has been expanding thanks to the number of hardware manufacturers relying on the open source operating system. This has led to a steady decline in the demand for Objective-C developers, along with the inception of Swift – an alternative development language for iOS that has made it to the chart.

18. PL/SQL

PL/SQL is a procedural language built on top of SQL that provides the ability for crafting more complex and powerful applications within an Oracle database engine. Relational database management systems (RDBMS) are the main storage facility for the majority of the software and web applications, and Oracle is a leading vendor among Fortune 500 companies with $37.04 billion reported revenue for 2016.


MATLAB is among the top software environments for scientists and engineers. While being a proprietary language developed by MathWorks, its underlying layer is a solid foundation for processing calculations and computations on top of a matrix (the basic data element of MATLAB).

Unlike the other programming languages, MATLAB includes a complete computing environment as well.

16. Visual Basic

Visual Basic was designed by Microsoft in 1991 and officially declared legacy in 2008. Despite its legacy status over the last 9 years, the multi-purpose foundation and ease of use have emerged a number of corporate application platforms with strong teams of VB developers.

Being introduced to the .NET framework allowed first-generation developers to leverage the power of the new platform, leveraging their expertise without having to learn a new language from scratch.

15. R

R is another programming language incorporated with a software environment used for statistical computing and graphics. It is capable of conducting numerical computations through additional packages. Being open source (unlike MATLAB) has been beneficial to organizations that specialize in research and development, or are cautious about intellectual property and data governance.

14. Go

Go is a programming language developed by Google in 2007. Go is designed for building simple, fast, and reliable applications; receives a good amount of support from its parent company (being incorporated in several Google projects), and gathers a large community of contributors thanks to its open source nature.

13. Assembly language

The assembly language is a low-level programming language often used as an intermediary layer between popular higher-level languages, and machine code. The high demand for Assembly developers comes from its performance benefits, the ability to program a wide range of devices with direct registry access, and the unique flexibility for direct hardware manipulations.

12. Swift

The successor of Objective-C has reached a peak in popularity which could continue over the coming months. Swift is suitable for building applications for iOS, macOS, watchOS and tvOS. In terms of adoption, it is more syntax-friendly and flexible than Objective-C, and designed with modern devices in mind (such as smart watches and smart TVs).

11. Ruby

The Ruby programming language was in top 10 back in May 2016 and is still a preferred tool of choice for many startups. The Ruby on Rails framework is notorious with bleeding edge innovations for web applications, though the rise of Node.js was a reason for the disperse of new generation developers among competitive communities.

10. Perl

Perl has initially appeared back in 1987 and served as a solid foundation for legacy web systems and UNIX-based operating systems. Its usability in modern days is questioned by developers, yet new versions are actively released in 2017. Professional security and networking experts rely on it for fast prototyping.

Programmers and data scientists often use it for data mining, statistical analysis, or script automation.

9. Delphi/Object Pascal

Delphi is the successor of Turbo Pascal – the software development system used with the Pascal programming language. Pascal was largely intended to be used in a training environment for teaching best programming practices to beginner engineers.

Its adoption in schools and universities, along with its flexibility for Delphi-based applications, has led to a massive volume of enterprise and software applications that are still supported and extended. Delphi’s popularity declined to number 20 just a couple years ago and is back to number 9 in February 2017.

8. Visual Basic .NET

Visual Basic .NET is a new programming language running on top of the .NET framework designed by Microsoft. The original expectation was that legacy Visual Basic application can be easily ported to Visual Basic .NET – taking advantage of the new runtime – which hasn’t been possible in most cases.

The wordplay welcomed a large community of old-school programmers who transitioned to the new environment, reducing the learning curve as compared to studying a new language from scratch.

7. JavaScript

JavaScript is one of the most widespread programming languages nowadays. Initially designed for the web, it is the foundation of server-side environments such as Node.js, dozens of frameworks for mobile applications, and even desktop software.

JavaScript appeared first in Netscape Navigator in 1995, laying the foundations of dynamic web pages in the modern web.

6. PHP

According to W3Techs, PHP is currently used by 82.5% of all websites. Its ubiquity and trivial distribution across hosting vendors, the seamless integration with the MySQL RDBMS, and starter applications have led to a massive demand for PHP web developers across the world.

PHP was the third most popular language in March 2010 after receiving the “language of the year” award by TIOBE in 2004.

5. Python

Python is a general-purpose programming language with countless applications in various scenarios. It is a versatile embedded scripting language, a solid foundation of many web frameworks, a preferred choice for automating tasks (including in 3D software applications), programming desktop tools, and performing data science and computation activities.

Python’s flexibility makes it possible to build applications for various operating systems, including Android.

4. C#

C# is the leading programming language featured by Microsoft as a flagman for .NET applications. It is wide used as a main tool for Microsoft-driven tools, desktop applications, and components of the Windows operating system.

While the framework had been initially closed to external contributors, Microsoft announced that they will open source .NET core back in November 2014, which has been welcomed by the rest of the open source community that is now adopting it for different purposes.

3. C

C++ has been fluctuating between the third and the fifth place for most popular programming languages for over a decade. It is a foundation for several programming languages, the main programming choice for many of the most used desktop applications; a go-to choice for device drivers, game engines, audio/image processing tools, embedded software and more.

Windows is largely written in C++, and desktop environments like KDE for Linux are programmed in C++ as well.

2. C

The C programming language has been ranked as the most popular language in the world in March 2015. The applications and dependability on C are almost endless, and it has always been one of the two most popular languages.

C is the predecessor of C++ and is a simplified and less functional version. This allows for running it on top of a larger set of hardware devices with limited memory – such as embedded hardware devices – and in performance-critical scenarios when operating with massive traffic, volumes of data, or processing audio and video streams. The kernel of the Linux operating system is written in C, which is used for the kernels of most popular OS.

1. Java

Java has been the main rival of C in terms of popularity, sharing the first couple of spots. It won the “Programming language of 2015” award, and, according to Oracle, is actively used by 9 million developers.

Java’s popularity is a combination of several key features – being a multi-purpose open source platform that claims to run everywhere, the leading programming language behind the Android mobile operating system, a powerful language for the web empowering sites like LinkedIn. Java is currently maintained by Oracle and used for all sorts of applications, with a large and active community.

Read more: