Go

Teilen:

Diese Fragen wurden nur Befragten gestellt, die Go als eine ihrer drei Haupt-Programmiersprachen angegeben hatten.

Wie verwenden Sie Go?

64%
61%

Arbeit

28%
28%

Persönliche oder Nebenprojekte

7%
8%

Hobby

2%
3%

Sonstige

Nutzen Sie mehrere Go-Versionen gleichzeitig?

68%

77%

Nein

32%

23%

Ja

Die Zahl der Entwickler*innen, die mehrere Versionen von Go parallel verwenden, ist seit dem letzten Jahr gestiegen.

Bearbeiten Sie mehrere Go-Projekte gleichzeitig?

Nur etwa ein Drittel der Go-Entwickler*innen arbeitet an nur einem Projekt gleichzeitig – der Rest jongliert mit mehreren Projekten.

Welche Template-Engine verwenden Sie bei der Go-Entwicklung?

25%

html/template

16%

text/template

3%

Pongo2

1%

Plush

1%

Sonstige

65%

Keinen

Gibt es Paketmanager, die Sie regelmäßig nutzen?

87%

86%

Go-Module

6%

5%

govendor

3%

4%

godep

3%

2%

gom

2%

5%

golang/dep

Go-Module sind die gängigste Paketmanagement-Methode, während die Popularität einiger anderer Optionen wie godep und dep zurückgegangen ist.

Verwenden Sie gopls?

Diese Frage wurde nur gestellt, wenn bei der Frage „Welche IDE bzw. welchen Editor nutzen Sie hauptsächlich für die Go-Entwicklung?“ Visual Studio Code, Vim oder Sublime Text ausgewählt wurde.

Wie zufrieden sind Sie insgesamt mit Ihrer gopls-Erfahrung?

30%

Sehr zufrieden

45%

Zufrieden

22%

Neutral

3%

Unzufrieden

Diese Frage wurde nur gestellt, wenn die Frage „Verwenden Sie gopls?“ mit „Ja“ beantwortet wurde.

Welche Sprachen verwenden Sie zusammen mit Go innerhalb eines Projekts?

34%

JavaScript

28%

Python

26%

TypeScript

7%

C

7%

C++

8%

Sonstige

15%

Keinen

Go-Entwickler*innen nannten am häufigsten JavaScript, Python und TypeScript als die Sprachen, die sie zusammen mit Go in einem Projekt verwenden. 15% wiederum entwickeln Projekte ausschließlich in Go, ohne weitere Sprachen zu verwenden.

Frameworks und Standardbibliotheken

46%

Gin

44%

net / http

11%

Echo

6%

Beego

2%

Buffalo

1%

Revel

10%

Sonstige

21%

Keinen

Welche Proxies für Go-Module verwenden Sie?

51%

53%

Ich verwende keinen Proxy

23%

27%

goproxy.io/goproxy.cn (öffentlich)

21%

18%

proxy.golang.org (öffentlich)

12%

8%

goproxy (nicht-öffentlich)

4%

2%

JFrog Artifactory (nicht-öffentlich)

Die Zahl der Go-Entwickler*innen, die einen privaten Go-Modul-Proxy verwenden, ist gestiegen.

Nutzen Sie Vendoring in Ihrem Projekt?

2022

2021

Der Anteil der Befragten, die Vendoring in ihren Go-Projekten einsetzen, nimmt ab, mit Ausnahme derjenigen, die an Go-Modul-Projekten arbeiten. Unter diesen hat die Verwendung von Vendoring zugenommen.

Welche Go-Router verwenden Sie regelmäßig?

41%

34%

Standardbibliothek

30%

35%

gorilla/mux

9%

10%

go-chi/chi

5%

7%

julienschmidt/httproute

2%

1%

go-zoo/bone

Die Standardbibliothek ist der gängigste Go-Router, und ihre Popularität nimmt weiter zu. Bei den anderen Go-Routern hat gorilla/mux etwas an Popularität eingebüßt.

Gibt es Test-Frameworks, die Sie regelmäßig nutzen?

41%

Eingebaute Testmöglichkeiten

23%

testify

19%

Ich schreibe keine Unit-Tests für Go

17%

Ich schreibe Unit-Tests, nutze aber keine Frameworks

15%

gomock

6%

ginkgo

4%

gomega

Etwa ein Fünftel der Go-Entwickler*innen schreiben keine Unit-Tests für Go. Weitere 17% schreiben zwar Unit-Tests, verwenden dabei jedoch keine Frameworks.

Wie viele externe Abhängigkeiten haben Sie in Ihren Projekten?

18%

Weniger als 5

49%

5–20

23%

Mehr als 20

10%

Weiß nicht

Welche Größe hat die Codebasis, mit der Sie in der IDE / im Editor arbeiten?

27%

Weniger als 50 Dateien

25%

51–100 Dateien

16%

101–300 Dateien

13%

301–1.000 Dateien

7%

1.001–5.000 Dateien

3%

5.001–10.000 Dateien

3%

Mehr als 10.000 Dateien

6%

Weiß nicht

Die Projekte der Go-Entwickler*innen sind nicht sehr groß. Bei knapp über der Hälfte bestehen sie aus nicht mehr als 100 Dateien.

Platzieren Sie Ihr Go-Modules-Projekt innerhalb oder außerhalb Ihres GOPATH?

Haben Sie vor, in den nächsten 12 Monaten Ihre Projekte zu Go Modules zu migrieren?

67%

54%

Nein

33%

46%

Ja

Die Frage wurde nur gezeigt, wenn bei der Frage „Welche Paketmanager verwenden Sie regelmäßig?“ nicht „Go-Module“ ausgewählt wurde.

Im Vergleich zum letzten Jahr haben weniger Go-Entwickler*innen ihre Absicht bekundet, in den nächsten 12 Monaten zu Go-Modulen zu migrieren. Dieser Paketmanager ist extrem populär, aber sein Wachstum könnte allmählich an Grenzen stoßen. Die Zahl der Entwickler*innen, die bei anderen Paketmanagern bleiben wollen, nimmt zu.

Gibt es Build-Systeme, die Sie regelmäßig nutzen?

83%

Go build

37%

Makefile

9%

Gradle

5%

Bazel

1%

Sonstige

Die Frage wurde nur gezeigt, wenn bei der Frage „Welche Paketmanager verwenden Sie regelmäßig?“ „Go-Module“ ausgewählt wurde.

Danke, dass Sie sich die Zeit genommen haben!

Wir hoffen, dass Sie unseren Bericht nützlich fanden. Teilen Sie diesen Bericht im Freundes- und Kollegenkreis.

Wenn Sie Fragen oder Anregungen haben, schreiben Sie uns bitte unter surveys@jetbrains.com.