Umetna inteligenca je pomembno vplivala na številne poklice in razvijalci niso izjema. Kakšno pa je mnenje razvijalcev o tej tehnologiji?
Naraščajoče priljubljenosti umetne inteligence ni mogoče zanikati, vendar se postavlja vprašanje, kako pomembna in pomembna je umetna inteligenca za potek dela razvijalca. Da bi osvetlil to temo, je Stack Overflow anketiral več kot 90.000 razvijalcev in iskal njihove poglede na AI. Raziskava je prinesla več omembe vrednih zaključkov, kot je prikazano spodaj.
Splošno mnenje razvijalcev o AI
Kot že omenjeno, AI postaja vse bolj priljubljen med razvijalci. Glede na Raziskava Stack Overflow 202370 % že uporablja ali namerava uporabljati orodja umetne inteligence v svojem razvojnem procesu, pri čemer jih 44 % že uporablja orodja in 26 % jih načrtuje.
Pogledi na AI se razlikujejo glede na poklic in raven izkušenj razvijalca.
Poklic
SRE, varnostni strokovnjaki in razvijalci iger nimajo naklonjenega mnenja o AI. To je mogoče zaradi pomislekov glede varnosti, ki jih povzroči vnašanje kode ali občutljivih informacij v sisteme AI.
Manj verjetno je, da bodo razvijalci, ki se osredotočajo na strojno opremo, zaledne sisteme ali aplikacije, uporabljali orodja AI. To je zato, ker so aplikacije preveč zapletene in jim orodja AI ne morejo pomagati.
Frontend razvijalci, podatkovni znanstveniki in razvijalci v oblaku so med razvijalci, za katere je bolj verjetno, da bodo uporabljali orodja AI. Za razvijalce sprednjega in zalednega dela lahko orodja AI pomagajo tako, da zagotovijo delčke kode ali skripte za določene funkcije.
Podatkovni znanstveniki lahko izkoristijo AI za avtomatizacijo obdelave podatkov, optimizacijo modelov in izbiro funkcij.
Razvijalcem v oblaku lahko umetna inteligenca pomaga optimizirati upravljanje infrastrukture z avtomatizacijo procesov, kot so dodeljevanje virov, uravnoteženje obremenitve, spremljanje in uravnavanje zmogljivosti.
Izkušnje
Razvijalci na začetku svoje kariere in tisti, ki se učijo kodiranja, bodo bolj verjetno uporabljali orodja AI, verjetno zato, ker izboljšajo hitrost učenja.
Po drugi strani pa je 42,2 % razvijalcev z več kot 21+ leti izkušenj manj naklonjeno AI. To je morda zato, ker želijo videti, ali bo hype okoli AI zamrl, preden se zavežejo določenemu orodju.
Države
Profesionalni razvijalci iz Indije (83 %), Brazilije (78 %) in Poljske (70 %) so med razvijalci, ki uporabljajo ali nameravajo uporabljati orodja AI v prihodnosti. To je verjetno posledica visoke rasti mladih razvijalcev iz teh držav. Razvijalci iz Združenega kraljestva, Francije in Nemčije manj verjetno uporabljajo orodja AI.
Za katere naloge razvijalci uporabljajo AI?
Razvijalci uporabljajo AI za različne naloge in te naloge se med razvijalci, ki se učijo kodirati, in profesionalnimi razvijalci razlikujejo.
Razvijalci, ki se učijo kodirati, večinoma uporabljajo umetno inteligenco za spoznavanje baze kode in pisanje kode.
Raziskava je pokazala, da 86 % profesionalnih razvijalcev uporablja orodja AI za pisanje kode in 54 % jih uporablja za odpravljanje napak v svoji kodi. Zanima jih tudi uporaba orodij umetne inteligence za testiranje, potrditev in pregled kode, uvajanje in spremljanje aplikacij ter dokumentiranje kode.
Omeniti velja, da se le nekaj razvijalcev zanima za uporabo AI za sodelovanje s soigralci.
Prednosti AI za razvijalce
AI je koristen tako za profesionalne razvijalce kot za tiste, ki se učijo kodirati. Na splošno 33 % vidi povečanje produktivnosti kot najpomembnejšo prednost uporabe umetne inteligence. Orodja, kot je GitHub Copilot, ponujajo funkcije, kot so predlogi kode, samodejno dokončanje in zaznavanje napak, kar lahko znatno pospeši postopek kodiranja.
Profesionalni razvijalci so videli izboljšano produktivnost (37,4 %) kot glavno prednost, večja učinkovitost (27,9 %) in hitrost učenja (27,4 %) pa sta bili drugotnega pomena.
Za razvijalce, ki se učijo kodirati, povečana hitrost učenja (42,4 %) in povečana produktivnost (41,4 %) so glavne prednosti umetne inteligence, medtem ko je večja učinkovitost (33,7 %) pri pisanju kode sekundarna. korist.
Le majhen odstotek razvijalcev vidi večjo natančnost kot prednost orodij AI. Izkušeni profesionalni razvijalci so bolj skeptični, saj le 14,1 % meni, da je izboljšana natančnost prednost umetne inteligence v primerjavi s 23,8 % tistih, ki se učijo kodirati.
Raziskava je nadalje razvrstila te prednosti med različne vrste razvijalcev. Povečana produktivnost je bila stalnica pri vseh vrstah razvijalcev.
Stack Overflow je raziskal priljubljenost različnih orodij AI, razvrščenih med iskalna orodja AI in orodja za razvijalce AI. Glede na podatke razvijalci uporabljajo predvsem dve orodji, ChatGPT in GitHub Copilot.
Med iskalnimi orodji AI je ChatGPT najbolj priljubljeno orodje. 79 % razvijalcev, ki ga uporabljajo, ga želi naslednje leto ponovno uporabiti. Po priljubljenosti sta ji tik zaostala umetna inteligenca Bing in umetna inteligenca Google Bard.
Google je bil glasen glede Bardovih sposobnosti kodiranja, toda kdaj v primerjavi s ChatGPT Bard še vedno zaostaja.
Nekatera druga iskalna orodja AI, ki so jih razvijalci poročali o uporabi, so WolframAlpha, Phind in You.com.
GitHub Copilot je najbolj priljubljen pomočnik za kodiranje AI. 70 % + anketirancev, ki so delali z GitHub Copilot, želi znova delati z njim. Poleg tega želi 59 %+ uporabnikov Tabnine in 50 % uporabnikov AWS Code Whisperer uporabljati GitHub Copilot.
To počasno sprejemanje najrazličnejših orodij umetne inteligence lahko pripišemo skepticizmu glede natančnosti umetne inteligence, saj le 2,85 % razvijalcev zelo zaupa rezultatom umetne inteligence. To nezaupanje je mogoče pripisati orodjem, kot je ChatGPT, ki včasih zagotavljajo napačen rezultat. Ta izhod lahko ob uporabi povzroči znatno škodo aplikaciji. Pri uporabi teh orodij je vedno dobro, da najprej preverite izhod.
Kako začeti z AI pri razvoju programske opreme
Kot razvijalec programske opreme lahko začnete uporabljati AI tako, da v razvojni proces vključite orodja za ustvarjanje in urejanje kode. Orodja, kot je GitHub Copilot in Tabnine predlagata delčke kode na podlagi konteksta med tipkanjem, kar lahko znatno skrajša razvojni čas. Poleg tega je ChatGPT zelo uporaben za generiranje funkcij pripomočkov, komponent uporabniškega vmesnika in kode za odpravljanje napak. S pravimi pozivi lahko celo uporabite ChatGPT za ustvarjanje spletnih aplikacij.
Prihodnost razvoja programske opreme s pomočjo umetne inteligence
Čeprav se mnogi razvijalci strinjajo, da je umetna inteligenca koristno orodje v njihovem poteku dela, jih je le nekaj pripravljenih v celoti zaupati orodjem umetne inteligence za kodiranje celotne aplikacije. Vendar AI zagotovo spreminja način, kako razvijalci gradijo aplikacije. Z uporabo orodij AI lahko razvijalci poenostavijo različne stopnje razvoja, vključno s pisanjem kode, testiranjem, odpravljanjem napak in pregledom kode. Posledično lahko bistveno optimizirajo življenjski cikel razvoja.