Risk Warning: Beware of illegal fundraising in the name of 'virtual currency' and 'blockchain'. — Five departments including the Banking and Insurance Regulatory Commission
Information
Discover
Search
Login
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
View Market
The 2021 Solidity Developer Report: An Overview of the Largest Developer Community in the Crypto World
Foresight
特邀专栏作者
2022-02-09 08:06
This article is about 5456 words, reading the full article takes about 8 minutes
What is the developer usage of the Solidity language? We've seen this from over 400 questionnaires.

Original title: "Solidity Developer Survey 2021 Results

Original author: Solidity Developer Survey 2021 Results

Compilation of the original text: Poplar

Compilation of the original text: Poplar

This is the second structured annual large-scale Solidity developer survey conducted by Solidity officials (the 2020 survey report can be clickedherehere

secondary title

Summary

  • Summary

  • Respondents: A total of 435 developers from 73 different countries participated in the survey, an increase of more than 100% compared to 2020. The countries and regions covered will also increase dramatically from 48 in 2020 to 73 in 2021. More than 20% of users said they lived in the US, followed by India (9%) and Germany (4%), with around 9% preferring not to share details of their location.

  • Developer profile: Moderate to high level of programming experience, most respondents have been engaged in professional programming for 3 years or more, 36.6% even more than 6 years.

  • Solidity experience: More than half of the respondents have used Solidity for less than a year, while 15.5% have used it for more than 3 years, and almost 80% use Solidity on a daily or weekly basis.

  • Solidity Expertise: The majority of respondents consider themselves Solidity experts, with a self-rated expertise rating of 7 or higher (out of 10). 4.2% rated their expertise as a 10. 80% of respondents use Solidity for their personal projects, about 60% also use it at work, and more than half of the time they use Solidity in less than a year.

  • Developer Experience: A majority (>70%) think the Solidity developer experience has improved in the last year, with only 1.6% saying it has gotten worse.

  • Language accuracy: 60% of developers hope that Solidity can add more checkpoints, reduce errors caused by insufficient precedents, and improve the accuracy of smart contract development. 26% would prefer to maintain the status quo.

  • Future features: A more efficient optimizer and the ability to catch custom errors are listed as the most important future features being discussed. Additionally, support for decimals, better array management, and resolving stack too deep errors are some of the most anticipated features.

  • Community: Less than a third of respondents have worked with Solidity language design.

secondary title

Survey object

Note that the fact that this survey was conducted in English only is an important factor to consider when interpreting the results regarding country of residence distribution and language preference.

First, let's take a look at the developers who took part in this survey, we'll detail general information like location and language, and get into more detail about their professional experience, programming preferences, and more.

The number of countries and territories also climbed from 48 in 2020 to 73 in 2021, also appearing to reach a more geographically diverse audience.

secondary title

More than 20% said they lived in the US, followed by India (9%) and Germany (4%), with around 9% preferring not to share details of their location.

secondary title

language

Respondents covered a wide range of languages ​​in their native language, with a total of 50 different languages ​​mentioned as native languages.

English is the native language of 35% of respondents, followed by Spanish (9.4%), French (5.9%), Russian (5.9%), Portuguese (4.9%) and German (4.9%).

More than 80% of respondents use English primarily at work. Some respondents also speak Spanish (2.8%), French (2.1%), Russian (1.6%) or Portuguese (1.6%) at work.

Among respondents whose native language is not English, more than 90% can read the Solidity documentation in English, and 8.6% prefer to read it in their native language, of which Mandarin and Traditional Chinese, Spanish are the most frequently mentioned and Portuguese.Please keep in mind that this survey is conducted in English only, which may affect the results of this question. We continue to believe that the internationalization of resources such as the Solidity documentation is a key factor in lowering the barrier to entry, and we aim to support community efforts to adopt new, more clearly structuredtranslation guide

Developer profile

Developer profile

work experience and employment

77.1% of respondents are currently employed, about 10% are students, and 12.5% ​​are not currently employed full-time.

Respondents mainly work in the fields of technology (62.8%) and financial services (15.5%). In addition, education, media and games also account for a relatively high proportion.

About 10% are new to programming and have only been programming professionally for less than a year. However, it is worth mentioning that the proportion of senior developers with more than 15 years of programming experience has also reached this figure. About 30% of respondents have 3-5 years of programming experience. The programming experience years of the respondents participating in this survey basically present a normal distribution.Overall,

The level of programming experience is at a medium to high level. Most respondents have professionally programmed for 3 years or more, and 36.6% have even exceeded 6 years.

Interestingly, the majority of respondents (80.4%) use Solidity for their personal projects, about 60% use Solidity at work, and 40% mainly use another Programming language to write code.

More than 20% said they were leading a programming team.

When it comes to open source contributions, 60% of respondents said they never or rarely contribute to open source projects written in Solidity.

However, about 30% of respondents said they do this every day or every week.

programming language preferences

In the "Favorite Programming Language" poll, Python successfully defeated Solidity's "anti-customer-oriented" and won the favor of 22.7% of respondents, followed by Solidity (19.4%), JavaScript (14.5%), TypeScript (10.8%) and Rust (8.4%).

operating system

operating system

Similar to the 2020 survey, macOS and Linux appear to be equally popular.

solidity-experience and-solidity-developer profile

Solidity Experience and Solidity Developer Profile

Most respondents consider themselves Solidity experts, with a self-rated expertise rating of 7 or higher (out of 10).

4.2% rated their expertise as a 10, and about 23% could be considered beginners or infrequent users with a self-rated expertise of 4 or less.

The percentage of beginners has increased slightly compared to last year, with more than half of respondents using Solidity for less than a year.

15.5% have used Solidity for more than 3 years, so can be considered as Solidity seniors.

Solidity still seems fairly easy to learn, with 26.7% of respondents feeling productive in less than a month, 30.7% in less than half a year, and 7.7% in over a year It takes time to get used to the language.

23.3% of people feel that they are not efficient yet, and more than 75% of them are beginners and have used Solidity for less than 6 months.

Introduction to Solidity Developers

Most (approximately 80%) of the respondents use Solidity on a daily or weekly basis, with 8% saying they "rarely" or "never" use Solidity, with almost all of them working primarily on code in another programming language Of those, most said they had been using Solidity for less than 3 months.

Over 50% use VSCode as an editor to write Solidity, followed by Visual Studio (14%) and Remix (11%), 7% of respondents use Vim, followed by IntelliJ (5.8%) and Atom (3%) ).

Compared to 2020, IntelliJ, Atom, Vim, and Sublime are used less in 2021.

Hardhat emerged as the most popular Ethereum-specific development environment, used by nearly 45% of respondents, followed by Truffle and Remix, each with around 17% user share.

Relatively small shares of Ethereum-specific development environments are Brownie (7.2%), Dapptools (5.6%), Scaffold-ETH (3.2%), Foundry/Forge (1.1%), and Embark (0.5%).

Compared to 2020, the shares of Truffle (2020: 34.6% -> 2021: 17.9%) and Remix (2020: 29.3% -> 2021: 17%) dropped significantly, while the shares of newcomers such as Hardhat, Brownie, Dapptools and Foundry Increased user share.

The 0.8.x Solidity (86.3%) version is by far the most used version, the 0.7.x (23%) and 0.6.x (18.3%) version series are still in use, and older versions are almost no longer used .
This is a big development from 2020, when most users were still using the 0.6.x release series,

Fortunately, only a few people are still using very old versions of the 0.4.x or 0.5.x series.Reminder: Make sure to update your code frequently. Added since 0.4.x

solidity-user experience

Solidity User Experience

A majority (greater than 70%) think the Solidity developer experience has improved in the last year, with only 1.6% saying it has gotten worse.

features

features

future work

future work

A more efficient optimizer and the ability to catch custom errors were listed as the most important future features being discussed.

Also, support for decimals, better array management and fixing stacks that are too deep are the most anticipated features.

We noticed that respondents used a variety of different terms, such as "floats", "floating point arithmetic", "floating point number", "fixed point numbers", "fixed point math", which we categorized as " factional numbers", and assume that all of the above is ultimately intended to describe "fixed point math".

  • 「floats」

  • The most frequently mentioned expected features are listed in descending order:

  • Better Array Management/More Array and Mapping Capabilities

  • fix stack too deep

  • Gas optimization/optimizer improvements

  • better debugging

  • Better support for strings

  • console.log()

  • Easier/better gas metering when building/developing

  • generics

  • Custom errors for require()

  • Better documentation (especially advanced stuff like inline assembly, Yul, etc.)

  • Code generation via Yul

  • fixed point mat

  • custom value type

Favorites and Fears

Favorites and Fears

Most frequently mentioned favorite features in descending order:

  • Simple

  • Simple

  • easy to learn

  • domain-specific language / right tool for the job / "it works"

  • SafeMath /over- & underflow checks by default

  • Modifier

  • clean syntax

  • interface

  • interface

  • static type

  • inheritance

  • good tool

  • structure

  • structure

  • delegate call

  • require and assertions

  • inline assembly

  • memory management

  • event

  • libraries

  • event

  • ABIEncoderV2

  • clarity

  • flexibility

  • flexibility

  • language safety

  • object oriented

object oriented

The most complained keywords are debugging, stack too deep error and lack of support for decimals.

  • Arranged in descending order of the frequency of complaints:

  • debugging

  • stack too deep

  • Missing floating point/fixed point

  • inline assembly

  • Ambiguous/generic (reverted) error messages

  • array

  • string

  • Breaking changes in minor versions/lack of compatibility

  • Safety

  • Gas cost/deployment cost

  • inheritance

  • test

  • test

  • Gas optimization

  • Modifier

  • Outdated Resources/Tutorials in Community Resources

  • returns

  • more and more complicated

  • explicit conversion

  • Lack of documentation on inline assembly/yul

  • missing console.log

  • memory allocation

  • reentrancy

  • missing standard library

restrictive

restrictive

solidity-community

language design

language design

Less than 20% of respondents have worked on Solidity language design, 6.2% participated in Solidity forum discussions, 5.1% participated in language design calls, and 6.4% opened or contributed to Github issues in Solidity repositories .

stay informed

stay informed

Interaction with other Solidity developers

Over half of the respondents interacted with other Solidity developers, and interestingly still almost 45% said they rarely or never contact other Solidity developers.

  • As the last part of the survey, we wanted to know how many participants agreed or disagreed with some statements about the Solidity community and the Solidity team's work.

  • 75% of respondents feel welcome in the Solidity developer community.

  • About 80% agreed or somewhat agreed that they had confidence in the Solidity team's work.

  • More than half felt welcome to contribute to Solidity, but less than half said they knew how to contribute ideas or feedback to Solidity.

Developer
Welcome to Join Odaily Official Community