Heim > Artikel > Backend-Entwicklung > „Offizieller Entwicklerumfragebericht 2021 Go“
Jedes Jahr organisieren Go-Verantwortliche eine Umfrage unter Go-Entwicklern, und letztes Jahr war da keine Ausnahme. Aber nachdem ich die Ermittlungen abgeschlossen und die Informationen gesammelt hatte, verschwand ich … andernfalls würden mich die Community und Freunde irgendwann fragen, wo sie sie sehen könnten.
Nein, vor kurzem hat der Beamte endlich die „Go Developer Survey 2021 Results[1]“ veröffentlicht. Ich habe sie direkt übersetzt (mit Löschungen werden nur die wichtigsten Inhalte angezeigt), Sie können einen Blick darauf werfen und lernen über die Marktentwicklung der Go-Community.
Unsere Demografie ist Jahr für Jahr stabil geblieben (siehe Ergebnisse 2020). Wie in den Vorjahren wird Go hauptsächlich in der Technologiebranche eingesetzt. 70 % der Befragten sind Softwareentwickler, einige davon in der IT oder DevOps, und 76 % geben an, dass sie bei der Arbeit in Go programmieren.
Einige neue demografische Daten für 2021:
Wir haben die Befragten gefragt, ob sie im vergangenen Jahr Alternativen zu Go bewertet haben. 43 % der Befragten gaben an, dass sie schon einmal den Wechsel zu Go oder die Einführung von Go ohne etablierte Sprache in Betracht gezogen hatten.
80 % dieser Bewertungen erfolgen in erster Linie aus geschäftlichen Gründen.
Wir gehen davon aus, dass die häufigsten Anwendungsfälle für Go die häufigsten beabsichtigten Verwendungszwecke für Leute sein werden, die Go bewerten. API/RPC-Dienste werden bei weitem am häufigsten verwendet, aber überraschenderweise ist die Datenverarbeitung der zweithäufigste beabsichtigte Anwendungsfall.
Von denjenigen, die Go bewertet haben, haben 75 % letztendlich Go verwendet. (Da fast alle Umfrageteilnehmer angaben, Go zu verwenden, haben wir natürlich wahrscheinlich nichts von Entwicklern gehört, die Go bewertet, sich dann aber gegen die Verwendung entschieden haben.)
Für diejenigen, die Go evaluiert, aber nicht verwendet haben, haben wir sie dann gefragt, welche Herausforderungen sie von der Verwendung von Go abhalten und welche davon die Haupthindernisse sind.
Was wir aus diesen Ergebnissen gewinnen, stützt frühere Erkenntnisse, dass fehlende Funktionen und mangelnde Ökosystem-/Bibliotheksunterstützung die wichtigsten technischen Hindernisse für die Go-Einführung sind.
Wir haben die Befragten um weitere Details zu den Funktionen oder Bibliotheken gebeten, die ihnen fehlten, und haben herausgefunden, dass Generika die am häufigsten fehlenden kritischen Funktionen sind. Wir hoffen, dass dies nach der Einführung von Generika in den Hindernissen von Go 1.18 weniger problematisch sein wird. Das zweithäufigste fehlende Merkmal hängt mit dem Typensystem von Go zusammen.
Wir möchten sehen, wie sich die Einführung von Generika auf die zugrunde liegenden Bedürfnisse rund um das Typsystem von Go auswirkt oder diese erfüllt, bevor wir weitere Änderungen vornehmen.
Derzeit werden wir weitere Informationen über den Hintergrund dieser Anforderungen sammeln und möglicherweise verschiedene Möglichkeiten erkunden, diese Anforderungen in Zukunft zu erfüllen, beispielsweise durch Tools, Bibliotheken oder Änderungen am Typsystem.
Was die fehlenden Bibliotheken betrifft, gibt es keinen klaren Konsens darüber, welche Art von Bibliotheken hinzugefügt würden, die den größten Prozentsatz der Menschen freischalten würden, die Go einführen möchten. Dies erfordert weitere Untersuchungen.
Wenn sich die Befragten also nicht für „Go“ entscheiden, wofür entscheiden sie sich stattdessen?
Rust, Python und Java sind die häufigsten Optionen.
Rust und Go verfügen über komplementäre Funktionssätze. Wenn Go also die funktionalen Anforderungen eines Projekts nicht erfüllt, ist Rust möglicherweise eine gute Wahl.
Der Hauptgrund für die Verwendung von Python ist der Mangel an Bibliotheken und vorhandener Infrastrukturunterstützung, sodass das große Paket-Ökosystem von Python die Umstellung auf Go möglicherweise erschwert.
Auch hier ist der häufigste Grund für die Verwendung von Java fehlende Funktionalität in Go, die durch die Einführung von Generika in Version 1.18 gemildert werden kann.
Schauen wir uns an, was Go gut macht und wo es verbessert werden kann.
Übereinstimmend mit dem letzten Jahr gaben 92 % der Befragten an, dass sie mit der Nutzung von Go im vergangenen Jahr sehr zufrieden oder einigermaßen zufrieden waren.
In diesem Jahr führen wir eine neue Frage ein, um andere Möglichkeiten zur Priorisierung der Arbeit in bestimmten Bereichen zu erkunden.
Frage: „Angenommen, Sie hätten 10 GopherCoins, die zur Verbesserung der folgenden Aspekte Ihrer Arbeit in Go verwendet werden könnten. Wie würden Sie Ihre Münzen zuweisen?“
Zwei Bereiche, die hervorstechen, sind das Abhängigkeitsmanagement (mithilfe von Modulen) und die Fehlerdiagnose , diese Wir werden im Jahr 2022 Ressourcen investieren.
Die häufigsten Herausforderungen beim Go-Abhängigkeitsmanagement sind:
Bezogen auf Versionen diskutierten 9 % der Antworten Versionsverwaltung oder Aktualisierungsabhängigkeiten. Abgerundet wurden die Top 5 durch Herausforderungen rund um private Repositories (einschließlich der Zertifizierung für GitLab) und das Erinnern an verschiedene Go-Mod-Befehle und das Verstehen ihrer Fehlermeldungen.
Wie in den Vorjahren gab die überwiegende Mehrheit der Befragten an, Go auf Linux- (63 %) und macOS-Systemen (55 %) zu verwenden. Es scheint im Laufe der Zeit einen leichten Abwärtstrend beim Anteil der Befragten zu geben, die hauptsächlich unter Linux entwickeln.
Von den Befragten, die das VSCode-Plugin verwenden, bevorzugen 91 % die Verwendung von VSCode bei der Verwendung von Go.
Über 90 % der Befragten zielen auf Linux ab! Obwohl mehr Befragte auf macOS als auf Windows entwickeln, implementieren sie häufiger auf Windows als auf Windows macOS.
Gesamtüberblick über die Ergebnisse unserer Entwicklerumfrage 2021 Um es noch einmal zu wiederholen: einige wichtige Erkenntnisse.
Um es einfach auszudrücken: Es floriert und die meisten Menschen sind mit Go recht zufrieden.
Der größte Widerspruch sind Generika und Abhängigkeitsmanagement. In Go1.18 wurden Generics veröffentlicht, das Abhängigkeitsmanagement wird weiter verbessert und auch die Optimierung des Debugging-Tools wird verbessert.
Das obige ist der detaillierte Inhalt von„Offizieller Entwicklerumfragebericht 2021 Go“. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!