AI je značajno utjecao na brojna zanimanja, a programeri nisu iznimka. Ali što programeri misle o ovoj tehnologiji?
Sve veća popularnost umjetne inteligencije je neporeciva, ali postavlja pitanje koliko je umjetna inteligencija značajna i relevantna za tijek rada programera. Kako bi rasvijetlio ovu temu, Stack Overflow anketirao je više od 90.000 programera, tražeći njihovo mišljenje o umjetnoj inteligenciji. Anketa je donijela nekoliko zaključaka vrijednih pažnje, kao što je prikazano u nastavku.
Sveukupni stavovi programera prema umjetnoj inteligenciji
Kao što je spomenuto, AI postaje sve popularniji među programerima. Prema Anketa Stack Overflow 2023, 70% već koristi ili planira koristiti AI alate u svom razvojnom procesu, pri čemu 44% već sada koristi alate, a 26% to planira.
Stavovi o umjetnoj inteligenciji razlikuju se ovisno o profesiji i razini iskustva programera.
Profesija
SRE, stručnjaci za sigurnost i programeri igara imaju nepovoljna stajališta o umjetnoj inteligenciji. To je moguće zbog sigurnosnih problema izazvanih unosom koda ili osjetljivih informacija u sustave umjetne inteligencije.
Manje je vjerojatno da će programeri usredotočeni na hardver, pozadinske sustave ili aplikacije koristiti alate umjetne inteligencije. To je zato što su aplikacije presložene, a AI alati im ne mogu pomoći.
Frontend programeri, znanstvenici za podatke i programeri u oblaku su među programerima za koje je vjerojatnije da će koristiti AI alate. Za frontend programere i backend programere, AI alati mogu pomoći pružanjem isječaka koda ili skripti za određene funkcije.
Znanstvenici koji se bave podacima mogu iskoristiti AI za automatizaciju obrade podataka, optimizacije modela i odabir značajki.
Za programere u oblaku, umjetna inteligencija može pomoći optimizirati upravljanje infrastrukturom automatiziranjem procesa kao što su dodjela resursa, uravnoteženje opterećenja, nadzor i podešavanje performansi.
Iskustvo
Programeri koji su ranije u karijeri i oni koji uče kodirati vjerojatnije će koristiti alate umjetne inteligencije vjerojatno zato što poboljšavaju brzinu učenja.
S druge strane, 42,2% programera s više od 21 godine iskustva manje je sklono umjetnoj inteligenciji. To je možda zato što žele vidjeti hoće li pompa oko umjetne inteligencije prestati prije nego što se posvete određenom alatu.
zemlje
Profesionalni programeri iz Indije (83%), Brazila (78%) i Poljske (70%) su među programerima koji koriste ili planiraju koristiti AI alate u budućnosti. To je vjerojatno zbog visokog rasta mladih programera iz ovih zemalja. Manje je vjerojatno da će programeri iz Ujedinjenog Kraljevstva, Francuske i Njemačke koristiti AI alate.
Za koje zadatke programeri koriste AI?
Programeri koriste AI za različite zadatke i ti se zadaci razlikuju između programera koji uče kodirati i profesionalnih programera.
Programeri koji uče kodirati uglavnom koriste umjetnu inteligenciju za učenje o bazi koda i pisanje koda.
Istraživanje je pokazalo da 86% profesionalnih programera koristi AI alate za pisanje koda, a 54% ih koristi za otklanjanje pogrešaka u svom kodu. Također su zainteresirani za korištenje AI alata za testiranje, predaju i pregled koda, implementaciju i nadzor aplikacija i dokumentiranje koda.
Vrijedno je napomenuti da je samo nekoliko programera zainteresirano za korištenje AI za suradnju sa suigračima.
Prednosti umjetne inteligencije za programere
AI je korisna profesionalnim programerima, kao i onima koji uče kodirati. Sveukupno 33% vidi povećanje produktivnosti kao najvažniju prednost korištenja umjetne inteligencije. Alati kao što je GitHub Copilot nude značajke poput prijedloga koda, automatskog dovršavanja i otkrivanja pogrešaka, što može značajno ubrzati proces kodiranja.
Profesionalni razvojni programeri vidjeli su poboljšanu produktivnost (37,4%) kao glavnu prednost, a veća učinkovitost (27,9%) i brzina učenja (27,4%) bile su u drugom planu.
Za programere koji uče kodirati, povećana brzina učenja (42,4%) i povećana produktivnost (41,4%) glavne su prednosti umjetne inteligencije, dok je veća učinkovitost (33,7%) pri pisanju koda sekundarna korist.
Samo mali postotak programera vidi povećanu točnost kao prednost AI alata. Iskusni profesionalni programeri su skeptičniji jer samo 14,1% smatra da je poboljšana točnost prednost umjetne inteligencije u usporedbi s 23,8% onih koji uče kodirati.
Anketa je dalje kategorizirala te prednosti prema različitim vrstama programera. Povećana produktivnost bila je konstanta među svim vrstama programera.
Stack Overflow ispitao je popularnost raznih AI alata grupiranih između AI alata za pretraživanje i AI razvojnih alata. Iz podataka, programeri prvenstveno koriste dva alata, ChatGPT i GitHub Copilot.
Među AI alatima za pretraživanje, ChatGPT je najpopularniji alat. 79% programera koji ga koriste žele ga ponovno koristiti sljedeće godine. Odmah iza po popularnosti bili su Bing AI i Google Bard AI.
Google je glasno govorio o Bardovim sposobnostima kodiranja, ali kada u usporedbi s ChatGPT-om, Bard još uvijek zaostaje.
Neki od ostalih AI alata za pretraživanje koje su programeri prijavili su WolframAlpha, Phind i You.com.
GitHub Copilot je najpopularniji AI asistent kodiranja. 70% + ispitanika koji su radili s GitHub Copilotom želi ponovno raditi s njim. Dodatno, 59%+ korisnika Tabnine i 50% korisnika AWS Code Whisperer želi koristiti GitHub Copilot.
Ovo sporo usvajanje širokog spektra alata umjetne inteligencije može se pripisati skepticizmu o točnosti umjetne inteligencije sa samo 2,85% programera koji imaju veliko povjerenje u rezultate umjetne inteligencije. Ovo nepovjerenje može se pripisati alatima poput ChatGPT-a koji ponekad daju netočne rezultate. Ovaj izlaz, kada se koristi, može uzrokovati značajnu štetu aplikaciji. Kada koristite ove alate, uvijek je dobra ideja prvo provjeriti izlaz.
Kako započeti s umjetnom inteligencijom u razvoju softvera
Kao programer softvera, možete započeti s umjetnom inteligencijom uključivanjem alata za generiranje koda i uređivanje u svoj proces razvoja. Alati kao što je GitHub Copilot i Tabnine predlažu isječke koda na temelju konteksta dok upisujete što može značajno skratiti vrijeme razvoja. Osim toga, ChatGPT je vrlo koristan za generiranje pomoćnih funkcija, komponenti korisničkog sučelja i koda za otklanjanje pogrešaka. Uz prave upute, možete čak koristite ChatGPT za izradu web aplikacija.
Budućnost razvoja softvera potpomognutog umjetnom inteligencijom
Iako se mnogi programeri slažu da je umjetna inteligencija koristan alat u njihovom tijeku rada, samo je nekoliko njih spremno u potpunosti vjerovati alatima umjetne inteligencije za kodiranje cijele njihove aplikacije. Međutim, AI sigurno mijenja način na koji programeri izrađuju aplikacije. Korištenjem AI alata, programeri mogu pojednostaviti različite faze razvoja uključujući pisanje koda, testiranje, otklanjanje pogrešaka i pregled koda. Kao rezultat toga, mogu značajno optimizirati životni ciklus razvoja.