Nerd For Tech
Published in

Nerd For Tech

The number of JavaScript developers has skyrocketed, and C# surpassed PHP, revealing the latest trends in global development!

Recently, the well-known analysis company SlashData, after surveying more than 19,000 developers in 155 countries/regions around the world, released the “Developer Report” (20th edition) for the first quarter of 2021. In this report, focusing on tools and fields such as programming languages, machine learning, emerging technologies, and embedded, analyze the application status of development tools and the latest development trends of the developer ecology.

Source: Slashdata

Highlights at a glance:

Programming language development prospects

  • JavaScript is still the most popular programming language, used by nearly 14 million developers worldwide;
  • Since the beginning of 2020, the popularity of Python has surpassed that of Java, becoming the second most widely adopted programming language (after JavaScript), with more than 10 million users;
  • Since Google announced at the I/O conference in 2017 that Kotlin has become the first-level development language for the Android system, the number of users of Kotlin has more than tripled;
  • In the past year, Rust and Lua became the two fastest-growing language communities of all programming languages.

The latest changes in machine learning

  • Unstructured text data is the most common data type in the work of machine learning (ML) developers and data scientists, with a usage rate of 68%;
  • The majority (53%) of machine learning engineers and data scientists are professional developers, but in some cases, they also participate in some hobby/student projects at the same time.

Emerging Technologies

  • The adoption rate of mini-programs is rising;
  • Human brain-computer interface technology, quantum computing, and self-driving cars are still in the field of science fiction.

Embedded Software

  • Embedded developers are more likely to participate in the industrial Internet of Things, consumer electronics, augmented reality and virtual reality than those who are not involved in embedded software.
  • C++ is the most commonly used programming language for embedded developers, and 40% of them use it.

The world has the largest number of JavaScript developers, and the popularity of Python surpasses that of Java

In this survey, SlashData adopted a different approach from the previous TIOBE, Redmonk, Stack Overflow and other lists. It first independently estimated the number of software developers worldwide. As of the first quarter of 2021, there were 24.3 million worldwide active developers. This value is an increase of about 14% compared to the 21.3 million in October 2020, which means that the number of developers worldwide is in a stage of rapid growth.

13.8 million developers worldwide are using JavaScript, mainly in the web and cloud fields

As a necessary tool for development, the development of programming languages ​​has always been one of the key directions that developers care about.

In terms of user scale, JavaScript is firmly at the top of the programming language list, and nearly 14 million developers worldwide use it, far surpassing Python, which ranks second. According to reports, in the past three years, the size of the JavaScript community has been on a growing trend. Between the fourth quarter of 2017 and the first quarter of 2021, more than 4.5 million developers joined the JavaScript community.

From the data point of view, more than 50% of active developers in the world use JavaScript. Although some developers still use programming languages ​​such as Java, C#, PHP, etc., JavaScript is used in many projects to some extent.

Therefore, after further investigating the fields that JavaScript developers are engaged in, it is found that many developers focus on the Web, Cloud and other fields. In addition, although in some popular industries such as data science and embedded development, JavaScript is not the developer’s preferred programming language, about a quarter of people use it in their projects.

Python is more popular than Java, becoming the second most commonly used programming language after JavaScript

Since the beginning of 2020, Python’s popularity has surpassed Java, becoming the second most widely adopted language after JavaScript. In the past year alone, the Python community has added 1.6 million developers, and the community has approximately 10.1 million users.

The increasing use of Python is indispensable to the rise of data science and machine learning (ML). For this, nearly 70% of machine learning and data science engineers say they are using Python.

In comparison, the development of R language, which is often used in data analysis and other fields, is relatively bleak, with only 17% of respondents saying that it is using it.

With nearly 20 years of development, the Java community now has 9.4 million developers

In fact, no matter how serious the external debate on programming languages ​​is, Java, which has been in development for 20 years, is still the foundation of the mobile application ecosystem and one of the most important universal languages ​​for Android development.

According to the survey, since the end of 2017, nearly 2.5 million developers have joined the Java community, which now has 9.4 million developers.

C# has declined, PHP is still popular in the Web field

Following JavaScript, Python, and Java, C/C++ (7.3M), C# (6.5M), and PHP (6.3M) ranked fourth, fifth, and sixth respectively.

Among them, C and C++ are the core languages ​​used for device-level and application-level coding in embedded and IoT projects.

In addition, the report pointed out that between the third quarter of 2019 and the third quarter of 2020, the popularity of C# declined. However, after the number of C# users increased by 500,000 developers in the past six months, C# surpassed PHP and returned to fifth place in the ranking.

In the application field, C# has been mainly used for desktop development and other dimensions. In recent years, it has also become the choice of AR/VR and game developers. The reason is that the Unity game engine is being adopted in these fields. related. At the same time, researchers said that the language is “rarely used” in data science and mobile development, so if Microsoft wants to continue to develop C# and make Xamarin and MAUI (multi-platform application UI framework) successful, or there is still a lot of work To be perfected.

Another programming language, PHP, is still the second most commonly used language in web applications after JavaScript. For a long time, PHP has been regarded as the most widely used programming language on the server-side, mainly because it is used by popular content management systems such as WordPress. However, from October last year to the present, the number of users of PHP has only increased by 200,000 In fact, the development is not fast.

Kotlin is growing rapidly, and it is inseparable from the support of Google

In the past three years, Kotlin has risen from 11th to 8th on the list. This trend is largely due to Google’s decision in 2017 to make Kotlin the language of choice for Android development.

However, even so, Kotlin still has a long way to go if it wants to catch up with Java. After all, according to surveys, there are currently twice as many mobile developers using Java to build applications as Kotlin.

The number of Rust users has more than tripled in the past three years

As a programming language with high security, Rust has gained the favour of more and more enterprises, including Google, Amazon, Microsoft and so on. According to the report, Rust has more than tripled its user base in the past three years, from 1.1 million developers in the fourth quarter of 2017 to 2.6 million in the first quarter of 2021.

In addition, Lua is also one of the fastest-growing language communities last year. Some developers engaged in AR/VR and IoT are using Lua to replace languages ​​such as C and C++.

Objective-C is being phased out

In the development of iOS-related applications, Swift is still the default language developed on all Apple platforms, which has also led to the gradual elimination of Objective-C by users. According to the survey, its ranking has dropped from 9th to 12th.

Professional developers are mainly engaged in machine learning research

In recent years, all walks of life have started all in artificial intelligence, machine learning and other technologies. According to the survey, 68% of ML/AI/DS engineers are using unstructured text data, which is also the most common data type for developers. However, audio is the most common type of combined data. 75–76% of the respondents indicated that they will use image, video or text data while processing audio data.

Second, the Tabular data type accounts for 59%, making it the second most popular data type.

According to the survey, 52% of the people who use image data are also video data users. These two data types are mainly used: image classification and facial recognition. These are two key application areas that promote the development of next-generation smart devices, as well as an important technical direction for improving augmented reality in games and supporting autonomous vehicles, home robots, home security monitoring, and medical imaging technologies.

Machine learning, artificial intelligence, and data analysis have high thresholds, and 53% of respondents are professional developers

In the ML / AI / DS developer group, 53% of the respondents are professional developers. The proportion of professional developers doing audio data processing is the highest, accounting for 64%. Among them, 50% of professional developers are mainly engaged in the research of applying audio data to text-to-speech generation.

Correspondingly, data types that are popular with student groups include images, tables, and text. 18–19% of developers who use this type of data are students. In addition, since many of these types of data can be obtained for free, many students can use the data to study a certain field after mastering the data.

There are not so many large-scale data sets

Now in the era of big data, many people think that ML / AI / DS developers can use very large data sets on a daily basis. But according to reports, research shows that very large data sets may not be as widespread as people expect.

Take image datasets as an example. 18% of image datasets are between 50MB and 500MB, while only 8% of image datasets exceed 1TB.

In addition, the size of the data set also varies with professional status. Only 11% of professional developers use a structured training data set of up to 20,000 rows, while 43% of hobbyists and 54% of students use only smaller data sets.

On the influence of contemporary developers

Developers have the world. According to the survey, 42% of front-line developers and 64% of team leaders make suggestions or influence decision-makers in their company.

Among them, by combining one’s own professional ability and experience, the role of the head of the development team lies between the CTO and the product manager, becoming a very influential person in the organization.

However, the CTO is still the chief purchasing officer (when purchasing (54%) or approving expenses (33%)) the person who makes the final decision.

It’s worth noting that 42% of front-line developers who do not have leadership positions say they make suggestions or influence decision-makers. According to survey data, the reason for this phenomenon is that experience plays a vital role in work. Through further analysis, the data pointed out that among developers with less than one year of experience, only 32% said they would often influence decision-makers, while among experienced developers with six years or more of experience, more than 50% of people in the interview indicated that their recommendations or influence decision-makers.

Mini program development has become an inevitable trend

In this survey report, SlashData has conducted a follow-up survey on emerging technologies such as robotics, applets, and computer vision, and finally found that half of the developers said that they are researching, learning, or interested in many of these technologies. Among them, small programs are most interested in professional developers, while amateurs/student groups are more curious about robotics.

In fact, in the past 12 months, the actual application of small programs has been widely recognized by developers, and the adoption rate has increased by four percentage points. This is also one of the largest growth in emerging technologies.

Quantum computing and self-driving cars have been at a low point in terms of penetration, but they still attract the attention of some developers. According to the survey, 45% of respondents are using autonomous driving technology. At the same time, the adoption rate of quantum computing has also increased compared with the past, currently accounting for 43%.

40% of embedded developers use C++

According to data, one in ten developers participates in embedded software development. However, engineers who do embedded development usually also involve many other fields. Among embedded developers, Web applications/SaaS are the other most popular areas.

Where does the code written by embedded software developers run?

It is very different from the model and method of pure software development. Many people are very curious about the daily life of hardware/embedded engineers. Do they have to write code?

Under normal circumstances, embedded engineers must write code. 58% of developers write code on a desktop or laptop computer. Secondly, developers who run code on smartphones and tablets account for 31 %.

According to the survey report, desktop-oriented embedded development is a closed ecosystem, that is, embedded developers who write code for the desktop environment are unlikely to target other development environments.

Although the code runs on the desktop/notebook computer side, industrial applications are not the mainstream of embedded software. In contrast, a quarter of embedded developers mainly write code for industrial computing units. One in ten respondents said that they mainly write code related to network infrastructure. Nevertheless, these modules are still an important part of embedded software development.

40% of embedded developers use C++

In embedded software projects, C++ is the most commonly used programming language for embedded developers. Secondly, C and Python followed closely, accounting for 32% and 30% respectively.

In the list of programming languages ​​commonly used in embedded development, such as Embedded C (16%), Arduino (14%) and Assembly (12%) rank relatively low, not so popular, and the popularity of these programming languages will also be affected by the environment of the code written by the developer. For example, when developing for CE devices other than smartphones or non-x86 hardware architectures, a quarter of developers use the embedded C language. When writing code for industrial computing units or network infrastructure, Arduino is also popular among developers. According to the survey report, embedded engineers are more likely to participate in the industrial Internet of Things (IIoT) field than those without embedded experience.

It’s also worth noting that some advanced interpreted programming languages ​​(Python, Java, and JavaScript) are also very popular in embedded developer’s projects, which means that many embedded developers interviewed are not limited to pure hardware development level, but through the operating system to achieve more abstract and complex research and development. In fact, according to surveys, almost half of embedded developers use Android devices, which is the main reason why interpreted programming languages ​​are widely used in this field.

For more report, please visit:



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store