A Go nyelv népszerűsége a Tiobe index alapján 2024-ben egy rendkívül gyors emelkedésen van túl. 2024 elején még csak a tizenegyedik helyen állt míg jelenleg a hetedik helyen áll közvetlenül a JavaScript mögött. Azok számára akik gondolkoznak, hogy elsajátítsák ezt az egyébként egyszerű nyelvet érdekes lehet megismerni, hogyan és mire is használják a fejlesztők és ebben nagy segítséget nyújt a 2024 második félévi felmérés amelynek eredményeit nemrég publikálták. Íme a legfontosabb megállapítások:
Általános elégedettség és fejlesztői környezet
A Go fejlesztők körében továbbra is rendkívül magas az elégedettség: a válaszadók 93%-a elégedett volt a Go használatával az elmúlt évben. A fejlesztők nagyra értékelik a nyelv egyszerűségét, a Go eszközkészletet és a visszafelé kompatibilitás ígéretét. A fejlesztők többsége Linux (61%) és macOS (59%) rendszereken dolgozik Go-val, míg a Windows használata kevésbé elterjedt. A telepítési környezetek tekintetében a Linux dominál (96%), főként x86-64 / AMD64 architektúrán.
Szerkesztők és eszközök
A VS Code és a GoLand a két legnépszerűbb szerkesztő a Go fejlesztők körében. A VS Code-ot a válaszadók 66%-a használja rendszeresen, míg a GoLand-ot 35%. Érdekes módon a fejlesztők 33%-a rendszeresen használ 2 vagy több szerkesztőt. A kódanalízis terén a gopls és a golangci-lint a legnépszerűbb eszközök.
Go a felhőben
A Go népszerű nyelv a modern, felhőalapú fejlesztésben. A válaszadók közel fele (50%) telepít Go programokat az Amazon Web Services-re, ezt követik a saját vagy vállalati szerverek (37%) és a Google Cloud (30%). A Kubernetes-alapú szolgáltatások, különösen az AWS Elastic Kubernetes Service, egyre népszerűbbek.
MI-asszisztensek
A Go fejlesztők 70%-a használ MI-asszisztenseket a munkája során. A legnépszerűbb felhasználási területek:
- LLM-alapú kódkiegészítés (35%)
- Tesztek írása (29%)
- Go kód generálása természetes nyelvi leírásból (27%)
- Ötletelés (25%)
Nem túl meglepő módon a kevesebb tapasztalattal rendelkező Go fejlesztők nagyobb valószínűséggel használnak MI-asszisztenseket (75%), mint a tapasztaltabbak (67%).
Tapasztalat és szerepkörök
A válaszadók többsége tapasztalt fejlesztő: átlagosan 14 év programozási tapasztalattal rendelkeznek, amiből 5 évet töltöttek Go programozással. Ez azt sugallja, hogy a Go vonzó választás a tapasztalt fejlesztők számára, akik más nyelvekben már jártasságot szereztek. A felmérésben résztvevők elsődleges szerepkörei:
- Backend fejlesztő (61%)
- Full-stack fejlesztő (43%)
- DevOps/SRE (28%)
- Architekt (25%)
Ez a megoszlás jól tükrözi a Go erősségeit a backend rendszerek, mikroszolgáltatások és DevOps területén.
Vállalati környezet
A Go fejlesztők változatos méretű szervezeteknél dolgoznak:
- 27% kis cégeknél (kevesebb mint 20 alkalmazott)
- 28% közepes méretű vállalatoknál (20-99 alkalmazott)
- 45% nagy vállalatoknál (100+ alkalmazott)
Ez azt mutatja, hogy a Go egyaránt népszerű a startupok és a nagyvállalatok körében is.
Iparági megoszlás
A Go fejlesztők leggyakrabban a következő iparágakban tevékenykednek:
- Technológia (53%)
- Pénzügy (15%)
- Telekommunikáció (7%)
- Egészségügy (6%)
- Oktatás (5%)
Ez a megoszlás jól mutatja a Go sokoldalúságát és alkalmazhatóságát különböző szektorokban, különösen a technológiai és pénzügyi szférában.
Földrajzi eloszlás
Bár a felmérés globális volt, a válaszadók többsége Észak-Amerikából (33%) és Európából (32%) származott, amit Ázsia (22%) követett. Ez az eloszlás rávilágít a Go nemzetközi népszerűségére, de egyben arra is, hogy még van tere a nyelv további terjedésének más régiókban.
Kihívások a Go csapatok számára
A leggyakoribb kihívás a csapatok számára a konzisztens kódolási szabványok fenntartása a Go kódbázisban (58%). Ez gyakran a csapattagok eltérő Go tapasztalatából és programozási hátteréből adódik, ami következetlenségekhez vezet a kódolási stílusban és a nem idiomatikus minták alkalmazásában. Ez a felmérés értékes betekintést nyújt a Go ökoszisztémába, és segít azonosítani azokat a területeket, ahol további fejlesztésekre vagy támogatásra lehet szükség a nyelv és eszközeinek fejlesztése során.