Categories
Community Languages

Size of Programming Language Communities in Q3 2021

Following our latest Developer Nation Survey, results are in and our State of the Developer Nation report 21st edition is now available! More than 19,000 developers from around the world participated and shed light on how they learn, the tools they use, how they are involved in emerging technologies, but also what would make them switch employers, among other topics.

As always, programming languages are a beloved subject of debate and one of the first topics we cover. The choice of language matters deeply to developers because they want to keep their skills up to date and marketable. It matters to toolmakers too, because they want to make sure they provide the most useful SDKs.

It can be hard to assess how widely used a programming language is. The indices available from players like Tiobe, Redmonk, Stack Overflow’s yearly survey, or GitHub’s Octoverse are great, but offer mostly relative comparisons between languages, providing no sense of the absolute size of each community. They may also be biased geographically or skewed towards certain fields of software development or open source developers.

The estimates we present here look at active software developers using each programming language; across the globe and across all kinds of programmers. They are based on two pieces of data:

  • First, our independent estimate of the global number of software developers, which we published for the first time in 2017. 

We estimate that, as of Q3 2021, there are 26.8 million active software developers in the world

  • Second, our large-scale, low-bias surveys which reach tens of thousands of developers every six months. In the surveys, we have consistently asked developers about their use of programming languages across ten areas of development, giving us rich and reliable information about who uses each language and in which context.

JavaScript’s popularity has skyrocketed

JavaScript is the most popular programming language community by a wide margin. Nearly 16.5M developers are using it globally. Notably, the JavaScript community has been growing in size consistently for the past several years. 4M developers joined the community in the last year – by far the highest growth in absolute terms across all languages – and upwards of 2.5M developers joined in the past six months alone. Even in software sectors where JavaScript is not among developers’ top choices, like data science or embedded development, about a fourth of developers use it in their projects.

Back in 2020 we suggested that learning Python would probably be a good idea. It still is. Since it surpassed Java in popularity at the beginning of 2020, Python has remained the second most widely adopted language behind JavaScript. Python now counts 11.3M users after adding 2.3M net new developers in the past 12 months. The rise of data science and machine learning (ML) is a clear factor in Python’s popularity. 

More than 70% of ML developers and data scientists report using Python

Java is the cornerstone of the Android app ecosystem as well as one of the most important general-purpose languages. Although it has been around for more than two decades now, its traction among developers keeps steadily growing. Since mid-2018, nearly 2.5M developers have joined the Java community, which now counts 9.6M developers.

Rust is rising fast

The group of major, well-established languages is completed with C/C++ (7.5M), PHP (7.3M), and C# (7.1M). Of these, PHP has grown the fastest in the past six months, with an influx of 1M net new developers between Q1 and Q3 2021. C and C++ are core languages in embedded and IoT projects for both on-device and application-level coding, whereas PHP is still the second most commonly used language in web applications after JavaScript. On the other hand, C# is traditionally popular within the desktop developer community, but it’s also the most broadly used language among AR/VR and game developers, largely due to the widespread adoption of the Unity game engine in these areas.

Rust has formed a very strong community of developers who care about performance, memory safety, and security. As a result, it grew faster than any other language in the last 24 months. Rust has nearly tripled in size from just 0.4M developers in Q3 2019 to 1.1M in Q3 2021. 

Rust is mostly used in embedded software projects but also in AR/VR development, most commonly for implementing the low-level core logic of AR/VR applications.

In previous editions of the State of the Developer Nation report, Kotlin has consistently been identified as a rising star among programming languages. Kotlin’s audience has doubled in size over the last three years – from 1.5M developers in Q2 2018 to nearly 3M in Q3 2021. This trend is largely attributed to Google’s decision to make Kotlin its preferred language for Android development. Kotlin is currently the third most popular language in mobile development, behind JavaScript and Java.

The more niche languages – Go, Ruby, Dart, and Lua – are still much smaller, with up to 2M active software developers each. Go and Ruby are important languages in backend development, but Go has grown slightly faster in the past year, both in absolute and percentage terms. Dart has also seen a significant uptick in its adoption in the last year. This has been fuelled predominantly by the increasing adoption of the Flutter framework in mobile development. Finally, Lua was the second fastest growing language community in the past two years, behind Rust, mainly attracting AR/VR and IoT developers looking for a scripting alternative to low-level languages such as C and C++.

You can read more about programming languages communities in the State of the Developer Nation report 21st edition.

Categories
Languages

Infographic: Programming languages adoption trends 2020

Languages are a beloved subject of debate and the kernels of some of the strongest developer communities. The choice of programming language matters deeply to developers because they want to keep their skills up to date and marketable. They matter to toolmakers too, because they want to make sure they provide the most useful SDKs. So which programming languages had notable changes in adoption trends in the last 3 years? Find the answers in our infographic with key findings from our Developer Economics 19th edition survey, which ran in June-August 2020 and reached 17,000 developers in 159 countries. 

JavaScript is the most popular programming language

As of Q3 2020, 12.4M developers globally were using JavaScript. We also estimate that in mid-2020 there were 21.3M active software developers in the world. So, 58% of all developers use JavaScript. Notably, the JavaScript community has been growing in size consistently for the past three years. Between Q2 2017 and Q3 2020, nearly 5M developers joined the community – by far the highest growth in absolute terms across all languages. Even in software sectors where JavaScript is least popular, like data science or AR/VR, over a fifth of developers use it in their projects. 

It’s a good idea to learn Python

For the second half-year period in a row, Python is the most widely adopted language behind JavaScript. Python now counts 9M users, after adding 2.2M net new developers in the past year alone, outranking Java at the beginning of 2020. The rise of data science and machine learning (ML) is a clear factor in its popularity. An impressive 77% of ML developers and data scientists currently use Python. For perspective, only 22% use R, the other language often associated with data science.

What’s new with Java and other well- established programming languages?

Java, with over 8M active users worldwide, is the cornerstone of the mobile app ecosystem – Android – as well as one of the most important general-purpose languages. It’s adoption may have remained stable in the past six months but, in the overall picture, the Java community has gained 1.6M developers since mid-2017, which corresponds to a 24% growth.

The group of major, well-established languages is completed with C/C++ (6.3M), PHP (6.1M) and C# (6M). The fact that C# lost three places in the ranking of language communities during the last three years is mostly explained by its slower growth compared to C/C++ and PHP. C and C++ remain core languages in IoT projects (for both on-device and application-level coding), whereas PHP is still the second most commonly used language in web applications, after JavaScript. On the other hand, C# may be sustaining its dominance in the game and AR/VR developer ecosystems, but it seems to be losing its edge in desktop development – possibly due to the emergence of cross-platform tools based on web technologies.

Android developers behind Kotlin growth

Kotlin is one of the fastest growing language communities, having increased more than two-fold in size since the end of 2017, from 1.1M in Q4 2017 to 2.3M in Q3 2020. This is also very evident from Kotlin’s ranking, where it moved from 11th to ninth place during that period – a trend that’s largely attributed to Google’s decision to make Kotlin its preferred language for Android development. 

Swift surpassed Kotlin in popularity this year, after attracting slightly more net new developers in the first half of 2020 (400k vs 300k). Since Swift became the default language for development across all Apple platforms, the adoption of Objective C has been decreasing steadily. This phase-out from the Apple app ecosystem is also matched by a significant drop in the rank of Objective C, from ninth to 12th place. 

Finally, the more niche languages – Go, Ruby, Rust, and Lua – are still much smaller, with up to 1.5M active software developers each. Ruby and Lua have been around for more than two decades now, but their communities have essentially stopped growing in the last three years. On the contrary, Go and Rust appear to be actively adding developers, although it is still unclear whether the two languages will climb the programming language ranking in the coming period.

What’s your favourite programming language? Take our Developer Economics 20th edition survey to support your choice!

Infographic: Programming languages adoption trends 2020
Categories
Community Languages News and Resources Platforms Tools

Current development trends in software engineering

Every year we conduct two global, independent developer surveys engaging more than 30,000 developers. We track development trends across platforms, revenues, apps, tools, languages etc. The 18th Developer Economics survey ran from November 2019 to February 2020 with more than 17,000 developers and tech-makers participating, allowing us to analyze and understand development trends on major areas such as mobile, cloud, desktop, IoT, web, augmented and virtual reality, machine learning and games. 

It’s no secret that we are data-enthusiasts. Data is in our DNA.

After each survey wave, we transform these data into graphs and insights and offer part of them as resources to our developer community. Our methodology is founded on 9 essential and non-negotiable qualities:  magnitude, impartiality, inclusivity, consistency, substantive, engagement, diligence, confidence and breadth. See more on how our methodology allows us to understand and profile developers.

Our goal is not only to help the world understand developers but also to add value to all the developers out there, by offering them the necessary insights to benchmark themselves and make smarter business decisions based on current development trends.

So let’s have a look at what our developers are saying, shall we?

Starting from some basic insights, it is important to know in which age group our respondents belong: 35% of developers worldwide are between 25 and 34 years old. The second largest demographic – almost 28%- is the young developers, aged 18 to 24 years old. 

What age group are you in?

Development trends

Just over half of our respondents reported having less than 5 years of coding experience. As our research covers both professionals and amateurs such as hobbyists and students, the experience mix makes perfect sense and is representative of the coding skills of the global developer population. We find that the young and relatively inexperienced are the first to jump into emerging sectors drawn by the hype, and they play a key role in their evolution.

How many years have you been working on software projects?

Development trends

Focusing on programming language preferences of mobile and backend developers, we find that Java is the third option for backend developers, while the most popular choice of mobile developers. The first choice of backend developers is instead Javascript with over half using it for cloud development. 

Which programming languages do you use to write code that runs on the device in your mobile apps?

development trends

Which programming languages do you use to write code that runs on the server?

development trends

When it comes to front-end frameworks or libraries for web applications most programmers use jQuery (49.7%) and Bootstrap (48%). Other frameworks our respondents stated they’re using are React (42.9%), Vue (28%) and Angular (2+) (25.2%). 

What about trends in augmented and virtual reality (AR/VR)? Almost half of the developers working on AR/VR use C#. Moreover, as is typical of a still-emerging sector, almost 60% of respondents said they are hobbyists in this field.
Last but not least game development. Developers mostly prefer to create adventure and action game apps with 44% of respondents choosing each of these. 36% create Arcade games while almost 23% choose Role Playing or Strategy games.

Which categories do your games fit in?

development trends

For more insights from our latest survey, you can check out the Developer Economics graphs dashboard. It’s also a great opportunity to benchmark yourself against the global average. 
Enjoy!

Looking for a more thorough report analysing the developer population and trends? Download our next State of the Developers Nation report 18th Edition. You will find it here.

Categories
Languages

Infographic: Top programming language communities

Which programming languages the developer nation uses the most? Our data reveal which programming language communities are rising faster than others, which are dropping down the rankings, and which are the new additions to the club! Take a look at our infographic containing key findings from our Developer Economics Q4 2019 survey. 

First of all, let’s all hail for our two years in a row queen, ? JavaScript. The JavaScript community counts more than 12 million users worldwide with an increase of 33% over the last two years.

Among the top programming languages, Python and Kotlin have climbed up faster than any other. With a slow and steady rise Python finally managed to edge out Java, counting 8.4 million users and ranking as the second most used language. When it comes to Machine Learning, Python is the first choice of the developer community, chosen from more than 70% of developers involved in ML. Meanwhile, Kotlin has shown significant growth, it nearly doubled in size in the past two years, finding its way into mobile and AR/VR programming.

After almost 10 years of its launch date and a head to head race with Ruby, Go (or Golang) managed to enter the club of the top 10 most used languages, counting 1.4 million users. Another up and coming language making its way mostly through the AR/VR field is Rust exceeding half of million users.

Let’s not forget that developers are dropping languages all the time. The practice of programming is not static. Even though Swift and Objective-C have been used significantly by the Apple community it seems that the developers are slowly abandoning them. On a similar trend, Ruby and Lua seem to have the biggest decrease (30% & 40%).

Check out our infographic which highlights the top trending programming language communities:

programming language communities

The estimates we present here look at active software developers using each programming language, across the globe and across all kinds of programmers.

Looking for a more thorough report on programming language communities? Check out our free State of the Developer Nation Q4 2019 report examining also different topics such as Contribution to Open-Source Software, DevOps Participants and Adoption, Machine Learning, Augmented & Virtual reality and Emerging technologies.

Also, here you can view the latest global average data trends on major development areas.

Categories
Community Languages Tips

The Latest Topics Developers Are Reading

What are the latest topics developers are reading? Some things change and others stay the same. When we looked at our data on what developers were reading in Q2, data and analytics, Jakarta, cloud-native, Kubernetes and Open Source topped the list.

In Q3 analytics (together with data) remained high on the list, but a few other topics emerged. The whole “shift left” movement is hot, as is security and anything related to “full stack”.

Here’s how we do the analysis. With 29 million unique readers every year, we decided to evaluate the data on DZone.com from quarter to quarter. In this post, I’m also looking at Q1 to Q3.

Keep in mind the pageview comparisons provide insight into what developers are reading and interested in learning about. The tags used to collect our data are assigned by our editors and used to help readers search once they’re on our site. They aren’t keywords.

So, with that in mind, let’s take a look at what’s trending right now.

The Latest Topics Developers Are Reading:

Data + Analytics = Popular Reading

This quarter, we saw significant growth in the following topics: “data analysis tools,” which grew by about 3343% from Q1 to Q3, “data application,” showing 37% growth from Q2 to Q3 and 950% from Q1 to Q3, and lastly “augmented analytics,” which grew by 21% from Q2 to Q3 and 1108% from Q1 to Q3.

It’s no secret that our world is becoming increasingly data-driven. As this article series has discovered time and again, data and analytics dominate software trends.

One pivotal factor in data analytics is the use of Python. Python can wear many hats. Heavily used in back-end development, it’s also beginning to dominate algorithms, analytics software, and the entirety of a data project’s lifecycle. Python data tools can be found for data collection, data modeling, and data visualization.

As computer scientists get more and more involved in data science, they are using Python to write algorithms, explains Michael O’Connell, chief analytics officer at TIBCO. This is resulting in a major surge in Python libraries and data analytics tools based in this language. “Computer scientists and mathematicians are starting to blend,” he says.

Another term that saw tremendous growth this quarter, and this year, is the concept of augmented analytics.

augmented analytics growth

“In order to bring AI forward, we need to understand brain structures better,” O’Connell says.

This will help process and analyze data much faster.

“I think what people have started to realize is that time is very precious and continues to become even more precious. Data volume is increasing. The need for insights in real-time is increasing. So, the only way you can do that is through augmenting your intelligence effectively by building solutions that don’t give you the answer but provide you smarter ways of being able to slice and dice information.”

No matter your job title, whether you’re a developer, project manager, marketer, or something entirely different, any and every profession will benefit from smarter data collection, processes, and tools.

Automated Testing Topics Show Growing Interest

Interest in automated testing grew steady among DZone.com readers over the last 9+ months. “Shift left,” a term meaning to ‘test early, and test often,’ has taken over the SDLC — developers are looking for more tools and frameworks that can easily integrate tests with minimal amounts of code.

This is where testing platforms like Selenium and Katalon Studio come in handy. These platforms allow testers to avoid manually writing tests. They can also create automated tests throughout dev environments.

Here’s a look at how these automation testing topic tags performed:

  • Automation testing tool grew over 60% from Q2 to Q3 and 1176% from Q1 to Q3
  • Selenium test automation grew over 23% from Q2 to Q3 and 1053% from Q1 to Q3
  • Testing frameworks grew 22% from Q2 to Q3 and over 641% from Q1 to Q3.

“The process of creating automation tests shouldn’t require writing extra code,” explains Jason Simon, (@jason_c_simon) freelance web developer, and tech writer. “Eventually, as we’re getting more and more code-free, this will not just be popular in test tech but in all parts of software development. The idea is to have business analysts doing a lot of the programming logic, without actually having to write a single line of code.”

 Automation testing tool grew over 60% from Q2 to Q3 and 1176% from Q1 to Q3 Selenium test automation grew over 23% from Q2 to Q3 and 1053% from Q1 to Q3 Testing frameworks grew 22% from Q2 to Q3 and over 641% from Q1 to Q3.

Simon predicts that in 2020, as testers write less and less code, the testing process will become more autonomous, with companies even adopting AI bots to automatically test new features. So basically, your test code will begin to automate itself. How cool is that?

The latest topics developers are reading on the Rise of Modern Security

Basic authentication and password management no longer cut it. The end of 2018 and early parts of 2019 were all about adopting basic security hygiene. But now, we’ve got to get more sophisticated and intentional about security — in all aspects of the development lifecycle.

This quarter, we saw topic tags such as “JSON web token,” grow over 190% from Q2 to Q3, “cloud security issues,” grow about 10% from Q2 to Q3 and 434% from Q1 to Q3, and “web vulnerabilities,” grow by 18% from Q2 to Q3 and 459% from Q1 to Q3.

Hackers are getting smarter, so companies and developers have to get smarter and more strategic about security practices. This is giving rise to the skyrocketing interest specifically around JSON Web Tokens and cloud security.

This quarter, we saw topic tags such as “JSON web token,” grow over 190% from Q2 to Q3, “cloud security issues,” grow about 10% from Q2 to Q3 and 434% from Q1 to Q3, and “web vulnerabilities,” grow by 18% from Q2 to Q3 and 459% from Q1 to Q3.

JSON Web Tokens (JWTs) are becoming more ubiquitous. Although they’ve been around for years, more organizations are complying with modern

security standards, particularly in Europe post-GDPR. For a better understanding of JWTs check out this article.

The growth in interest in cloud security relates to what Matt Quinn, COO at TIBCO calls the second major cloud migration. “There’s no cutting corners with this [cloud security]. If you don’t do the investments in the right place, in areas like CloudOps and DevOps, you don’t change your development practices.”

“People can still screw up,’’ Quinn adds. “But ultimately, security is something that we know what we have to do. Sometimes, we don’t do it. But I think everyone has a good idea and understanding of what good practices are. The early majority are probably still rediscovering some of those. And I think there are still some pockets of resistance to the cloud because of security-based issues.”

In other words, don’t cut corners and make sure you are adopting industry standards. Hackers aren’t slowing down, and neither should you.

Full Stack Developers, Frameworks and Popular Tutorials

The term “full stack” refers to both frontend and backend development. If someone is a “full-stack developer,” it means they have the skills and proficiency in both aspects of development.

This quarter, we saw growth in topic tags “full stack development”, which grew by over 97% from Q2 to Q3 and 547% from Q1 to Q3, “asp.net tutorials”, which grew by about 85% from Q2 to Q3; 2395% Q1 to Q3, and “python frameworks” , which grew by 137% from Q2 to Q3 and about 950% from Q1 to Q3.

This quarter, we saw growth in topic tags “full stack development”, which grew by over 97% from Q2 to Q3 and 547% from Q1 to Q3, “asp.net tutorials”, which grew by about 85% from Q2 to Q3; 2395% Q1 to Q3, and “python frameworks” , which grew by 137% from Q2 to Q3 and about 950% from Q1 to Q3.

ASP.NET is an open-source, cross-platform framework used for building web apps in C#. Many companies and developers are attracted to its user-friendly nature and are becoming overwhelmingly popular.

We talked with Microsoft MVP and tech leader, Gunnar Peipman (@gpeipman) about ASP.NET, why it’s so popular, and where he sees it moving into 2020. Peipman identified four key features about the language that made it stand out from other frameworks: its cross-platform abilities, lightweight and easy startup, abundant libraries, and high performance.

These features have led to increased interest in the framework that has led to more users.

“New users are coming from other ASP.NET [platforms] and so I think this transition will continue over the next few years. Many companies just cannot transition their current systems,” Peipman explains. Transitioning your codebase is no easy task. “So, I think over the next few years, ASP.NET development will be a hot topic.”

In addition to tutorials on ASP.NET, we also saw a huge jump in readership of tutorials on various Python frameworks. We spoke with Python developer and writer, Mike Driscoll, (@driscollis) about where Python for enterprise development is headed as 2019 comes to a close.

Driscoll highlighted why Python is popular amongst full-stack developers:

“The nice thing about Python web development is that it works on all PCs, across all platforms, so it’ll work on Windows, Mac, and Linux. And if you design it correctly, it’ll also work on most tablets and phones too. So, you’ve basically got a universal language, so to speak. That’s why it’s growing so much.”

Working Smarter, Not Harder

As 2019 draws to a close, developers want to make sure they have the right tools and processes in place to be successful through Q4.

One similarity between each of these topics and their related tags is tools. Developers want to find the best tools and frameworks to solve their problems — with as little startup time possible. Having the right tools for the job is critical, and that desire dominated Q3 readership results.

As we count down the final days of 2019, it will be interesting to see which trends carry over into 2020.

About the author:

Lindsay is a Content Coordinator at Devada. She works closely with contributors to DZone, a website for software developers and IT professionals to learn and share their knowledge. Editing and reviewing submissions to the site, she specializes in content related to Java, IoT, and software security.

Categories
Languages

The Queen of Programming Languages with 11M+ Users

The choice of programming language matters deeply to developers because they want to keep their skills up to date and marketable. Programming Languages are a beloved subject of debate and the kernels of some of the strongest developer communities. They matter to toolmakers too, as they want to make sure they provide the most useful SDKs.

Here is an update on Programming Language Communities, from our State of the Developer Nation Report 17th Edition.

It can be hard to assess how widely used a programming language is. The indices available from players like Tiobe, Redmonk, Stack Overflow’s yearly survey, or Github’s Octoverse are great, but mostly offer only relative comparisons between languages, providing no sense of the absolute size of each community. They may also be biased geographically, or skewed towards certain fields of software development, or open source developers.

The estimates we present here look at active software developers using each programming language, across the globe and across all kinds of programmers.

They are based on two pieces of data:

First, our independent estimate of the global number of software developers, which we published for the first time in 2017. We estimate that in mid 2019 there are 18 million active software developers in the world.

Second, our large-scale, low-bias surveys which reach tens of thousands of developers every six months. In the surveys, we consistently ask developers about their use of programming languages across ten areas of development, giving us rich and reliable information about who uses each language and in which context.

JAVASCRIPT REMAINS QUEEN OF PROGRAMMING LANGUAGES

11M+ developers use Javascript

The most popular programming language by a wide margin is Javascript, including derivatives like TypeScript and CoffeeScript. The Javascript community counts over 11 million active developers. Even in software sectors where Javascript is least popular like machine learning or on-device code in IoT, over a fifth of developers use it for their projects. 

Programming language communities Q2 2019
Programming language communities Q2 2019

The rise of machine learning is a clear factor in the success of Python:

8 in 10 machine learning developers use Python in their work (compared to just 25% using R, the other language often associated with data science). Java, of course, is a cornerstone of the mobile app ecosystem (Android) as well as a great general-purpose language.

Language use is not static: developers drop and adopt new languages all the time

It would appear that it is not meaningful to speak of “Java developers” or “Python developers” in any fundamental sense, other than that they use those languages at a certain point in time. While we see a net decline in the use of most languages by our repeat respondents, some languages reverse that trend and show significant growth. The first of these is Kotlin, which we are confident to say is the rising star in the programming language firmament.

Kotlin’s rank among programming languages moved from 11th to 8th place in just a year, and one in ten developers now use the language.

Rank of programming language communities 2017-2019
Rank of programming language communities 2017-2019

Tracking the ever-changing landscape of the software development ecosystem is why we run our Developer Economics surveys twice a year and there is one live right now. To track changes on programming languages, tools and platforms we need you to share with us your coding experiences!  We would be very interested to know what programming languages, hardware, frameworks and platforms you use, and the types of projects you’re working on.

Has the new Oculus Quest piqued your interest and restarted the heart of VR development? Or is AR and mixed reality where it really is? Help us tell the technology leaders what you think, and by doing so become part of the change you want to see in the tools you use.

Categories
Languages

JavaScript remains the Queen of Programming Languages

Welcome to another update on programming languages communities. The choice of programming language matters deeply to developers because they want to keep their skills up to date and marketable. Languages are a beloved subject of debate and the kernels of some of the strongest developer communities. They matter to toolmakers too, as they want to make sure they provide the most useful SDΚs.

languages_graph

 

It can be hard to assess how widely used a programming language is. The indices available from players like Tiobe, Redmonk, Stack Overflow’s yearly survey, or Github’s Octoverse are great, but mostly offer only relative comparisons between languages, providing no sense of the absolute size of each community. They may also be biased geographically, or skewed towards certain fields of software development, or open source developers.

The estimates we present here look at active software developers using each programming language, across the globe and across all kinds of programmers. They are based on two pieces of data. First, our independent estimate of the global number of software developers, which we published for the first time in 2017. Second, our large-scale, low-bias surveys which reach more than 20,000 developers every six months. In the survey, we consistently ask developers about their use of programming languages across nine areas of development1, giving us rich and reliable information about who uses each language and in which context.

JavaScript is and remains the queen of programming languages. Its community of 11.7M developers is the largest of all languages. In 2018, 2.5M developers joined the community: the highest growth in absolute numbers and more than the entire population of Swift, Ruby, or Kotlin developers, amongst others. New developers see it as an attractive entry-level language, but also existing developers are adding it to their skillset. Even in software sectors where Javascript is least popular like machine learning or on-device code in IoT, over a quarter of developers use it for their projects.

Python has reached 8.2M active developers and has now surpassed Java in terms of popularity. It is the second-fastest growing language community in absolute terms with 2.2M net new Python developers in 2018. The rise of machine learning is a clear factor in its popularity. A whopping 69% of machine learning developers and data scientists now use Python (compared to 24% of them using R).

Java (7.6M active developers), C# (6.7M), and C/C++ (6.3M) are fairly close together in terms of community size and are certainly well-established languages. However, all three are now growing at a slower rate than the general developer population. While they are not exactly stagnating, they are no longer the first languages that (new) developers look to.

Java is very popular in the mobile ecosystem and its offshoots (Android), but not for IoT devices. C# is a core part of the Microsoft ecosystem. Throughout our research, we see a consistent correlation between the use of C# and the use of Microsoft developer products. It’s no surprise to see desktop and AR/VR (Hololens) as areas where C# is popular. C/C++ is a core language family for game engines and in IoT, where performance and low-level access matter (AR/VR exists on the boundary between games and IoT).

PHP is now the second most popular language for web development and the fifth most popular language overall, with 5.9M developers. Like Python, it’s growing significantly faster than the overall developer population, having added 32% more developers to its ranks in 2018. Despite having (arguably) a somewhat bad reputation, the fact that PHP is easy to learn and widely deployed still propels it forward as a major language for the modern Internet.

The fastest growing language community in percentage terms is Kotlin. It grew by 58% in 2018 from 1.1M to 1.7M developers. Since Google has made Kotlin a first-class language for Android development, we can expect this growth to continue, in a similar way to how Swift overtook Objective-C for iOS development.

Other niche languages don’t seem to be adding many developers, if any. Swift and Objective-C are important languages to the Apple community, but are stable in terms of the number of developers that use them. Ruby and Lua are not growing their communities quickly either.

Older and more popular programming languages have vocal critics, while new, exciting languages often have enthusiastic supporters. This data would suggest that it’s not easy for new languages to grow beyond their niche and become the next big thing. What does this mean for the future of these languages and others like Go or Scala? We will certainly keep tracking this evolution and plan to keep you informed.

The Developer Economics survey is now Live.
Have your say in which should be the next programming language Queen and you may win amazing prizes and gear. Discover more.

Want more developer insights on programming languages?

The State of Developer Nation report is free to download.

programming_languages_banner

Categories
Business Languages Platforms Tools

Take the new Developer Economics Survey Q2 2018

Got something to say about popular platforms and apps out there? How about languages, tools, or APIs? It’s prime time to let your opinion out – our semi-annual Developer Economics survey is now LIVE! Don’t miss a chance to join over 40,000 developers from 160+ countries who take part in our surveys every year to tell us about trends and shape the future of where software development is going next. Start right away here!

 

Who is the Developer Economics survey for?

The survey is for pretty much everyone who gets their fingers into coding. All developers who work on software development are welcome to take the survey, whether your work on Mobile, Desktop, IoT, AR/VR, Machine Learning & Data Science, Web, Backend, or Games.

What sort of questions is the survey asking?

We ask stuff that all developers care about. Career? Check. Satisfaction with tools? Check. Future trends and what will matter in the years to come? You bet.
As always, the survey asks you questions like:

  • Which are your favourite tools and platforms?
  • What are some must-have developer skills today?
  • Are you working on the projects you would like to work on?
  • Where do you think development time should be invested?

This time, we added new questions about developer skills, so your first-hand insights are that much more important.

What do I get from it?

Apart from contributing to the developer community with your insights (and making it a better place, obviously), there are many perks. Have a look at what we prepared for you this time:

  • Amazing prizes up for grabs: iPhone X, Samsung S9 Plus, HTC Vive Pro, GitHub 12 months developer program, Udemy vouchers, and more.
  • Access to State of the Developer Nation 15th Edition report with the key findings from this survey (coming up in Q3 2018).
  • A referral program you can join, share the survey and win up to $700 in cash!

How’s this survey different than last year?

We asked developers what they wanted to see in the 15th edition of the Developer Economics Survey. Majority of you rooted for a Sci-Fi theme and we delivered! Complete the survey and you’ll find out who is your intergalactic alter-ego and where your force lies!

What happens with my responses?

Anonymized results of the survey will be made available in the free State of the Developer Nation 15th Edition report. If you take the survey, we’ll reach out to you with the copy of the report so you can be the first to check out the insights. In the meantime, you can check out previous editions here.

 

So, what are you waiting for? Take the survey now!

Categories
Languages

What is the best programming language for Machine Learning?

Q&A sites and data science forums are buzzing with the same questions over and over again: I’m new in data science, what language should I learn? What’s the best machine learning language?

machine-learning-programming-language

There’s an abundance of articles attempting to answer these questions, either based on personal experience or on job offer data. Τhere’s so much more activity in machine learning than job offers in the West can describe, however, and peer opinions are of course very valuable but often conflicting and as such may confuse the novices. We turned instead to our hard data from 2,000+ data scientists and machine learning developers who responded to our latest survey about which languages they use and what projects they’re working on – along with many other interesting things about their machine learning activities and training. Then, being data scientists ourselves, we couldn’t help but run a few models to see which are the most important factors that are correlated to language selection. We compared the top-5 languages and the results prove that there is no simple answer to the “which language?” question. It depends on what you’re trying to build, what your background is and why you got involved in machine learning in the first place.

Which machine learning language is the most popular overall?

First, let’s look at the overall popularity of machine learning languages. Python leads the pack, with 57% of data scientists and machine learning developers using it and 33% prioritising it for development. Little wonder, given all the evolution in the deep learning Python frameworks over the past 2 years, including the release of TensorFlow and a wide selection of other libraries. Python is often compared to R, but they are nowhere near comparable in terms of popularity: R comes fourth in overall usage (31%) and fifth in prioritisation (5%). R is in fact the language with the lowest prioritisation-to-usage ratio among the five, with only 17% of developers who use it prioritising it. This means that in most cases R is a complementary language, not a first choice. The same ratio for Python is at 58%, the highest by far among the five languages, a clear indication that the usage trends of Python are the exact opposite to those of R. Not only is Python the most widely used language, it is also the primary choice for the majority of its users. C/C++ is a distant second to Python, both in usage (44%) and prioritisation (19%). Java follows C/C++ very closely, while JavaScript comes fifth in usage, although with a slightly better prioritisation performance than R (7%). We asked our respondents about other languages used in machine learning, including the usual suspects of Julia, Scala, Ruby, Octave, MATLAB and SAS, but they all fall below the 5% mark of prioritisation and below 26% of usage. We therefore focused our attention on the top-5 languages.

Python is prioritised in applications where Java is not.

Our data reveals that the most decisive factor when selecting a language for machine learning is the type of project you’ll be working on – your application area. In our survey we asked developers about 17 different application areas while also providing our respondents with the opportunity to tell us that they’re still exploring options, not actively working on any area. Here we present the top and bottom three areas per language: the ones where developers prioritise each language the most and the least.

Machine learning scientists working on sentiment analysis prioritise Python (44%) and R (11%) more and JavaScript (2%) and Java (15%) less than developers working on other areas. In contrast, Java is prioritised more by those working on network security / cyber attacks and fraud detection, the two areas where Python is the least prioritised. Network security and fraud detection algorithms are built or consumed mostly in large organisations – and especially in financial institutions – where Java is a favourite of most internal development teams. In areas that are less enterprise-focused, such as natural language processing (NLP) and sentiment analysis, developers opt for Python which offers an easier and faster way to build highly performing algorithms, due to the extensive collection of specialised libraries that come with it.

Artificial Intelligence (AI) in games (29%) and robot locomotion (27%) are the two areas where C/C++ is favoured the most, given the level of control, high performance and efficiency required. Here a lower level programming language such as C/C++ that comes with highly sophisticated AI libraries is a natural choice, while R, designed for statistical analysis and visualisations, is deemed mostly irrelevant. AI in games (3%) and robot locomotion(1%)  are the two areas where R is prioritised the least, followed by speech recognition where the case is similar.

Other than in sentiment analysis, R is also relatively highly prioritised – as compared to other application areas – in bioengineering and bioinformatics (11%), an area where both Java and JavaScript are not favoured. Given the long-standing use of R in biomedical statistics, both inside and outside academia, it’s no surprise that it’s one of the areas where it’s used the most. Finally, our data shows that developers new to data science and machine learning who are still exploring options prioritise JavaScript more than others (11%) and Java less than others (13%). These are in many cases developers who are experimenting with machine learning through the use of a 3rd-party machine learning API in a web application.

machine-learning-programming-languages

Professional background is pivotal in selecting a machine learning language.

Second to the application area, the professional background is also pivotal in selecting a machine learning language: the developers prioritising  the top-five languages more than others come from five different backgrounds. Python is prioritised the most by those for whom data science is the first profession or field of study (38%). This indicates that Python has by now become an integral part of data science – it has evolved into the native language of data scientists. The same can not be said for R, which is mostly prioritised by data analysts and statisticians (14%), as the language was initially created for them, replacing S.

Front-end web developers extend their use of JavaScript to machine learning, 16% prioritising it for that purpose, while staying clear of the cumbersome C/C++ (8%). At the exact opposite stand embedded computing hardware / electronics engineers who go for C/C++ more than others, while avoiding JavaScript, Java and R more than others. Given their investment in mastering C/C++ in their engineering life, it would make no sense to settle for a language that would compromise their level of control over their application. Embedded computing hardware engineers are also the most likely to be working on near-the-hardware machine learning projects, such as IoT edge analytics projects, where hardware may force their language selection. Our data confirms that their involvement is significantly above average in industrial maintenance, image classification and robot locomotion projects among others.

For Java, it’s the front-end desktop application developers who prioritise it more than others (21%), which is also inline with its use mostly in enterprise-focused applications as noted earlier. Enterprise developers tend to use Java in all projects, including machine learning. The company directive in this case is also evident from the third factor that is strongly correlated to language prioritisation – the reason to get into machine learning. Java is prioritised the most (27%) by developers who got into machine learning because their boss or company asked them to. It is the least preferred (14%) by those who got into the field just because they were curious to see what all the fuss was about – Java is not a language that you normally learn just for fun! It is Python that the curious prioritise more than others (38%), another indication that Python is recognised as the main language that one needs to experiment with to find out what machine learning is all about.

It seems that some universities teaching data science courses still need to catch up with this notion though. Developers who say that they got into machine learning because data science is/was part of their university degree are the least likely to prioritise Python (26%) and the most likely to prioritise R (7%) as compared to others. There is evidently still a favourable bias towards R within statistics circles in academia – where it was born – but as data science and machine learning gravitate more towards computing, the trend is fading away. Those with university training in data science may favour it more than others, but in absolute terms it’s still only a small fraction of that group too that will go for R first.

C/C++ is prioritised more by those who want to enhance their existing apps/projects with machine learning (20%) and less by those who hope to build new highly competitive apps based on machine learning (14%). This pattern points again to C/C++ being mostly used in engineering projects and IoT or AR/VR apps, most likely already written in C/C++, to which ML-supported functionality is being added. When building a new app from scratch – especially one using NLP for chatbots – there’s no particular reason to use C/C++, while there are plenty of reasons to opt for languages that offer highly-specialised libraries, such as Python. These languages can more quickly and easily yield highly-performing algorithms that may offer a competitive advantage in new ML-centric apps.

Finally, contractors who got into machine learning to increase their chances of securing highly-profitable projects prioritise JavaScript more than others (8%). These are probably JavaScript developers building web applications to which they are adding a machine learning API. An example would be visualising the results of a machine learning algorithm on a web-based dashboard.

There is no such thing as a ‘best language for machine learning’.

Our data shows that popularity is not a good yardstick to use when selecting a programming language for machine learning and data science. There is no such thing as a ‘best language for machine learning’ and it all depends on what you want to build, where you’re coming from and why you got involved in machine learning. In most cases developers port the language they were already using into machine learning, especially if they are to use it in projects adjacent to their previous work – such as engineering projects for C/C++ developers or web visualisations for JavaScript developers.

If your first ever contact with programming is through machine learning, then your peers in our survey point to Python as the best option, given its wealth of libraries and ease of use. If, on the other hand, you’re dreaming of a job in an enterprise environment, be prepared to use Java. Whatever the case, these are exciting times for machine learning and the journey is guaranteed to be a mind-blowing one, irrespective of the language you opt for. Enjoy the ride!

Categories
Community Languages News and Resources

[Infographic] The most global developer survey

The new Developer Economics Infographic is out! The most global developer survey so far has reached over 16,500 developers from 145 countries. Have a look at the findings and let us know where you stand in the global ecosystem. Bonus: hear it from our survey prize winners!

Developer Survey: Developer Economics Q2 2016

global-dev-survey (1)

Interested in more findings? Check out our more recent reports, here.