当前位置:网站首页>2021 go developer survey

2021 go developer survey

2022-06-11 14:38:00 Deep learning and python

author | Alice Merrick

translator | plain

planning | Tina

This article was originally published in Go Developing blogs .

1 This paper mainly

  • This time, Go Developer research , Received replies in total 11840 Share . Most of the responses are consistent with those of previous years . for example ,92% Of the respondents were right Go Our satisfaction is still high ,75% Of the respondents used Go.
  • This year, , We randomly selected some users Go VS Code Plug in participants , This has led to some changes in the respondents .
  • Missing key libraries 、 Language features and infrastructure are used Go The most common language barrier ( Be careful : The survey was conducted in Go 1.18 Before publishing generics , Generics have been the most frequently reported missing feature ).
  • Respondents want to prioritize improvements in debugging and dependency management .
  • The biggest challenge when using modules is versioning 、 Use private libraries and multi module workflows ( Be careful : This survey is conducted in Go 1.18 Before release , This release introduces a workspace to address these issues ).
  • 81% Of the respondents were right Go Have confidence in the long-term development direction of the project .

2 Who received feedback ?

The demographic characteristics of the survey are fairly stable every year ( see 2020 Year results ). As in previous years ,Go Mainly used in science and technology industry .70% Of the respondents were software developers , A few are IT or DevOps personnel ,76% Of respondents said they used... At work Go Programming .

2021 Some new statistical features in :

Most respondents describe their organization as a business (enterprise ) Or small and medium-sized enterprises , About a quarter describe their organization as a start-up . There are far fewer advisory and public institutions .

The vast majority of respondents are less than 10 Work in a team of people .

More than half (55%) Percent of respondents use... At work every day Go. Respondents use less... Outside of work Go.

Gender identity

We added gender identity to the survey , Because that will let us know who the result stands for , And add a dimension to measure community inclusiveness .Go The team values diversity and inclusiveness , Not only is it the right thing to do , And because diverse voices help us make better decisions . This year, , We have restated the issue of gender identity , Make it more inclusive . The proportion of female identity is roughly the same as in previous years (2%). The same is true in the random sample group , It shows that this is not just due to sampling .

Assistive technology

This year, , We found again that , about 8% Of the respondents are using some form of assistive technology . Most of them are for Go Related websites or their code editors for more contrasting topics , And increase the font size ; We plan to take action based on feedback from the website later this year . We are doing this for Go These accessibility requirements should be kept in mind as ecosystems contribute .

3 Learn more Go The challenge of adoption

This year, , For some not used Go The actual case of , To understand why , We modified the problem . First , We asked the respondents whether they had used Go Other languages than .44% Of respondents said , They evaluated switching to Go, Or from Go Switch to another language , Or use Go( No language has been defined before ).80% The assessment is mainly for commercial reasons .

We expect ,Go The most common use cases will be in those assessments Go The most common intended use among people . up to now ,API/RPC Service is the most common use , But it's amazing , Data processing is the second most common use .

In the face of Go Of the respondents who have done the assessment ,75% Of people eventually used Go.( Of course , Because almost all respondents use Go, So we may not have received the evaluation but finally decided not to use Go Feedback from developers .)

For those who have evaluated Go But people who don't use it , We then asked them , What challenges prevent them from using Go, What are the main obstacles .

Our conclusions from these results support the previous findings , That is, lack of characteristics and lack of ecosystem / Library support is to use Go The biggest technical hurdle .

We further asked respondents what features or libraries they lacked , Finding generics is the most common key missing feature —— Due in Go 1.18 When generics are introduced , This will no longer be an obstacle . The second most common missing feature is related to Go The type system of . We want to see before we make any other changes , How the introduction of generics affects or solves Go The underlying requirements of a type system . Now? , We will gather more information about the context of these requirements , And may explore different ways to meet these needs in the future , For example, through tools 、 Library or modification of type system .

As for the missing Library , As for which libraries can be added, most of them want to adopt Go People's obstacles , At present, there is no clear consensus , Further exploration is needed .

that , When the respondent does not choose Go when , What did they use instead ?

Rust、Python and Java Is the most common choice .Rust and Go The feature sets are complementary , So when Go When the functional requirements of the project cannot be met ,Rust It could be a good choice . Use Python The main reason is Go Lack of Library and infrastructure support , and Python The huge package ecosystem may increase switching to Go The difficulty of . Similarly , Use Java To replace Go The most common reason for is Go Some features are missing , and 1.18 Generics introduced in the release may alleviate this situation .

4 Go Use satisfaction and related work priorities

Let's see Go What has been done well and what can be improved .

Same as last year ,92% Forty five percent of the respondents said they had been interested in Go Very satisfied or somewhat satisfied .

There is a slight fluctuation in the trend of community attitude year by year . Those who use Go Less than 3 Months old people tend to disagree with these statements . More and more respondents find that ,Go Critical to the success of their company .

Related work priorities

Over the past few years , We asked respondents to rate their satisfaction with specific areas and the importance of these areas to them ; We use this information to identify areas that are important to respondents but that they are not satisfied with . However , Most of these areas show only minor differences in importance and satisfaction .

This year, , We have raised a new question , Explore other ways to prioritize work in specific areas .“ Suppose you have 10 individual GopherCoin Used to improve Go. How would you distribute your money ?” The two areas with the most money are dependent management ( Using modules ) and Bug The diagnosis .2022 year , We will invest resources in these two areas .

Challenges in using modules

Among the challenges associated with the module , The most common is to work across multiple modules (19% Interviewee ), The second is about version control ( Including the commitment to stable v1 API Feel uneasy ). About version control ,9% Your response discussed version management or update dependencies . The top 5 And the challenge of private libraries ( Especially use GitLab authentication )、 Remember different go mod Commands and error messages to understand them .

5 Go Language learning

This year, , We have adopted a new structure to explore different levels of experience Go The relative productivity of developers . The vast majority of respondents (88%) Recognize that they often achieve high levels of productivity ,85% Percent of people recognize that they are using Go It is often possible to achieve “ Flow state ”. With Go Increased language programming experience , The proportion of recognition will also increase .

Where should we improve the best practice documentation ?

Half of the respondents want more guidance on best practices in performance optimization and project directory structure . It is as expected , Although the top two groups are consistent , But novice ( Use Go Less than a year ) More guidance than experienced veterans . It is worth noting that , Compared with more experienced veterans , Novices need more concurrency guidance .

How developers learn a new language ?

About half of the respondents learn a new language at work , But almost as many people (45%) Study outside school or work . The most popular way to learn is (90%) Study alone . Among those who replied that they were learning at work ( May have the opportunity to participate in group learning ),84% Most people study alone , Instead of participating in group learning .

Many top-level resources emphasize the importance of good documentation , But real-time instruction is also particularly useful for language learning .

6 Development tools and practices

As in previous years , The vast majority of respondents said they were in Linux(63%) and macOS(55%) System on use Go. as time goes on , Mainly in the Linux There seems to be a slight downward trend in the proportion of respondents developed on .

Target platform

exceed 90% Of the respondents were Linux For the target platform . Although in macOS There are more respondents than Windows More on , But they are more deployed to Windows, instead of macOS.

Fuzzing test

Most respondents are not familiar with Fuzzing, Or think you are still a Fuzzing Novice . Based on this discovery , We plan to :(1) Make sure Go Fuzzing The relevant concepts and specific details are clearly explained in the document ;(2) Design executable output and error messages , Help new contacts Fuzzing Our developers successfully applied .

Cloud computing

Go It is designed on the basis of modern distributed computing , We hope to continue to improve the use of Go Build the development experience of cloud services . This year, , Among the three major cloud service providers in the world ( Amazon cloud technology 、 Google cloud platform and Microsoft Azure) Deploy Go The percentage of respondents to the program remained unchanged , However, the proportion deployed on local or company owned servers continues to decline .

After deployment to AWS Of the respondents , Deploy to hosting Kubernetes The number of people on the platform has increased , Of the respondents currently deployed to the three major cloud providers 35%. At all these cloud providers , Deploy on the virtual machine Go The proportion of users of programs has decreased .

7 What has changed this year ?

last year , We introduced a modular survey design , So that we can ask more questions without extending the investigation . This year, , We followed the modular design , But some problems have been removed , Some problems have also been added or modified . None of the respondents saw all the questions in the survey . Besides , The sample size of some questions may be much smaller , Because they are proposed selectively according to the former question .

In this year's survey , The biggest change is the way we recruit participants . A few years ago , We go through Go The blog announced the survey , And in Twitter、Reddit or Hacker News And other social channels . This year, , In addition to traditional channels , We also use VS Code Go The plug-in randomly selects users , Show them a prompt message , Ask them if they are willing to participate in the survey . This forms a random sample , We use it to compare with self selected respondents from traditional channels , And help identify the potential impact of self selection bias .

Nearly a third of the respondents got it this way , They are likely to have a significant impact on the responses we see this year . We see , Some of the main differences between the two groups are :

Go More developers

In a random sample , Novice ( Use Go People less than a year ) A higher proportion . This may be because the novice is involved Go There are few ecosystems or social channels , So they are more likely to be IDE See the survey information in , Not through other means . For whatever reason , Can hear more Go It is a good thing to hear the opinions of people in the field .

VS Code Users increase

No wonder , from VS Code Among the respondents who received information from the plug-in and participated in the survey ,91% Most people like to use VS Code Conduct Go Programming . So we see , In terms of editor preferences ,VS Code The proportion is much higher . After excluding random samples , There is no statistical difference between the results and last year , So we know , This is the result of our sample changes , Not the overall preference . Again ,VS Code Users are also more likely than other respondents to Windows On the development , So we see , This year Windows The preference for . We also see , stay VS Code Among the users of , The use of some development techniques has also changed slightly .

Different ways to participate

A random sample of respondents is unlikely to Go Blog and other social channels as the primary way to answer relevant questions , therefore , They are less likely to see the investigation information on these channels .

8 Summary

Thank you for reviewing with us 2021 year Go Developer survey results . To reiterate some of the key findings of this survey :

  • Most indicators remained stable year on year , Most of the changes are due to changes in the sample .
  • Yes Go Our satisfaction is still high !
  • Three quarters of respondents use... At work Go, Many people use... Every day Go, So helping you finish your work is our top priority .
  • We will give priority to improving the debugging and dependency management workflows .
  • We will continue to work on , send Go Become suitable for all kinds of Go An inclusive community of developers .

Understanding the experiences and challenges of developers helps us evaluate our progress , And guide Go The future development of . Thanks again to all those who contributed to this survey —— Without you , We can't do that . I hope to see you again next year !

Check the English text :

https://go.dev/blog/survey2021-results

原网站

版权声明
本文为[Deep learning and python]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/162/202206111418149119.html