Mulighetene til AI chatbots vokser raskt. Men kan de kode ennå, og hvem er best til oppgaven?

Da Google lanserte Bard, svaret på OpenAIs ChatGPT, manglet det en funksjon som var ganske populær blant ChatGPT-brukere: muligheten til å skrive kode. Etter populær etterspørsel ga Google imidlertid Bard et skudd for armen, slik at den kunne skrive kode på dusinvis av programmeringsspråk.

Google har siden vært vokal om hvor godt Bard kan skrive og feilsøke kode, men hvordan er det sammenlignet med den fenomenale ChatGPT? La oss finne det ut.

ChatGPT vs. Bard: Språkstøtte

Offisielt kan Googles Bard jobbe med rundt 20 programmeringsspråk. Disse består hovedsakelig av populære som Typescript, Python, C++, Go, Java, JavaScript og PHP. Den kan fortsatt håndtere mindre populære alternativer som Perl og Scala, men er ikke nødvendigvis like effektiv.

ChatGPT på den annen side har ikke en offisiell liste over støttede språk. Chatboten kan håndtere det meste av det Bard kan håndtere og dusinvis til. ChatGPT kan skrive, feilsøke og forklare kode i både nyere, populære programmeringsspråk og

mindre populære, eldre språk som Fortran, Pascal, BASIC og COBOL.

Men støtte betyr ikke nødvendigvis ferdigheter. Vi prøvde ut noen enkle oppgaver på utvalgte språk som PHP, JavaScript, BASIC og C++. Både Bard og ChatGPT var i stand til å levere på de populære programmeringsspråkene, men bare ChatGPT var i stand til overbevisende å sette sammen programmer på eldre språk. Så når det gjelder språkstøtte, gir vi gevinsten til ChatGPT.

ChatGPT vs. Bard: Nøyaktighet og kodekvalitet

La oss si at du ber ChatGPT eller Bard om å generere et stykke kode som gjør noe, og det spytter ut dusinvis av kodelinjer på sekunder. Enkelt, ikke sant? Men hvor ofte vil den koden fungere? La oss si at koden fungerer; hvor god er den koden?

For å sammenligne nøyaktigheten og kvaliteten på koden generert av de to AI-chatbotene, ga vi begge noen kodeoppgaver å fullføre. Vi ba Bard og ChatGPT om å generere en enkel oppgaveliste-app ved hjelp av HTML, CSS og JavaScript. Etter å ha kopiert og limt inn og sett den genererte koden i en nettleser, så ChatGPTs app slik ut:

Ved å bruke ChatGPTs versjon kan du legge til en ny oppgave, slette en oppgave eller merke en oppgave som fullført. Googles Bard var også i stand til å generere en funksjonell oppgaveliste-app. Du kan imidlertid bare legge til en oppgave, uten mulighet til å slette eller merke den som fullført. Bards grensesnitt virket også mindre tiltalende; slik så det ut:

Vi gjentok testen, denne gangen ba vi begge chatbotene om å gjenskape Twitter-tidslinjekort. Her er ChatGPTs resultat:

Og her er hva Googles Bard produserte:

Begge resultatene har sine fordeler og ulemper. Vi ville ha gått med Bards resultater hvis den hadde like-, retweet- og kommentar-knappene. Imidlertid utelot det merkelig nok disse, så vi lar deg bestemme hvilken som er best. Kvaliteten på koden handler selvfølgelig ikke bare om estetikken til det den produserer.

Når man analyserte koden generert av begge chatbotene, så Bards ut til å være mer objektorientert mens ChatGPTs var mer prosedyremessig. Vårt valg av programmeringsspråk kunne påvirke dette, men ChatGPT så ut til å skrive renere kode når det var nødvendig. Det har også en tendens til å generere mer komplette løsninger, som vanligvis fører til flere linjer med kode.

Når det gjelder kvaliteten på generert kode, tildeler vi denne runden til ChatGPT.

ChatGPT vs. Bard: Feilsøking og feildeteksjon

Feil og feil er som gåter som programmerere elsker å hate. De vil gjøre deg gal, men å fikse dem er ganske tilfredsstillende. Så når du får feil i koden din, bør du ringe Bard eller ChatGPT for å få hjelp? For å bestemme oss ga vi begge AI-chatbotene to feilsøkingsproblemer å løse.

For det første ba vi begge chatbotene om å løse en logisk feil i en PHP-kode. Logiske feil er notorisk vanskeligere å oppdage fordi koden som inneholder dem ikke ser feil ut, den gjør bare ikke det programmereren hadde til hensikt.

Koden i dette skjermbildet kjører, men det fungerer ikke. Kan du oppdage den logiske feilen? Vi ba Googles Bard om hjelp, og dessverre kunne ikke chatboten finne ut den logiske feilen i koden. Interessant nok har Googles Bard vanligvis tre utkastforsøk på å løse et problem, vi sjekket alle tre utkastene og alle var feil.

Vi spurte deretter ChatGPT om hjelp, og den plukket umiddelbart ut den logiske feilen.

PHP-skriptet hadde ingen syntaksfeil, men logikken i erOdd() funksjonen var bakover. For å se om et tall er oddetall, vil du vanligvis sjekke om det har en rest etter å ha delt på 2. Hvis det gjør det, er det et oddetall.

Mens Bard ikke var i nærheten av å identifisere denne feilen, plukket ChatGPT den opp på første forsøk. Vi prøvde ytterligere fire logiske feil, og Bard var bare i stand til å plukke ut feilen i ett tilfelle mens ChatGPT konsekvent leverte. Etter å ha byttet til kode med syntaksfeil, klarte Googles Bard å følge med og identifisere dem i nesten alle eksemplene som ble presentert.

Googles Bard er relativt god til å feilsøke, men vi vil gi denne seieren til ChatGPT igjen.

ChatGPT vs. Bard: Kontekstbevissthet

En av de største utfordringene med bruk av AI chatbots for koding er deres relativt begrensede kontekstbevissthet. Du ber chatboten skrive litt kode, så litt mer... langs linjen glemmer den helt at det neste den bygger er en del av det samme prosjektet.

La oss for eksempel si at du bygger en nettapp med en AI-chatbot. Du ber den skrive kode for HTML-siden for registrering og pålogging, og den gjør det perfekt. Og så, mens du fortsetter å bygge, ber du chatboten om å generere et serversideskript for å håndtere påloggingslogikken. Dette er en enkel oppgave, men på grunn av begrenset kontekstbevissthet kan det ende opp med å generere et påloggingsskript med nye variabler og navnekonvensjoner som ikke samsvarer med resten av koden.

Så hvilken chatbot er bedre til å beholde kontekstbevissthet? Vi ga begge verktøyene den samme programmeringsoppgaven: en chat-app som vi vet at ChatGPT allerede kan bygge.

Dessverre kunne Bard rett og slett ikke fullføre appen fordi den mistet oversikten over prosjektets kontekst etter at den var inaktiv en stund. Til tross for de samme betingelsene, fullførte ChatGPT appen. Nok en gang, når det gjelder kontekstbevissthet, gir vi det til ChatGPT.

ChatGPT vs. Bard: Problemløsning

På dette tidspunktet mangler Googles Bard på mange måter. Men kan det endelig vinne? La oss teste dens problemløsningsevner. Noen ganger har du bare et problem, men du er ikke sikker på hvordan du skal representere det programmatisk, enn si hvordan du skal løse det.

Situasjoner som dette er når AI chatbots som Bard og ChatGPT kan komme godt med. Men hvilken chatbot har bedre problemløsningsevner? Vi ba dem begge om å "skrive en JavaScript-kode som teller hvor mange ganger et bestemt ord vises i en tekst."

Bard svarte med fungerende kode, selv om den mislykkes når skilletegn er nær et ord eller ordet vises i forskjellige tilfeller.

Vi kastet det samme problemet på ChatGPT, og her er resultatet:

ChatGPTs kode tar en mer robust og nøyaktig tilnærming til å telle ordforekomster i en tekst. Den vurderer ordgrenser og store og små bokstaver, håndterer tegnsetting på riktig måte og gir mer pålitelige resultater. Nok en gang, når det gjelder problemløsning, gir vi det til ChatGPT.

Siden Google Bard stort sett har tapt i hver beregning vi brukte for sammenligning, bestemte vi oss for å gi den en sjanse til innløsning. Vi spurte chatboten "Hvilken er bedre til å kode? ChatGPT eller Google Bard?"

Mens den var enig i at ChatGPT var mer kreativ, sa Bard at konkurrenten var mer sannsynlig å gjøre feil og at ChatGPT produserte kode som var mindre effektiv, ikke godt strukturert og generelt sett var mindre pålitelig. Vi må være uenige!

ChatGPT er i en egen liga

Googles Bard har hatt mye hype, så det kan komme som en overraskelse å se hvor mye den mangler i forhold til ChatGPT. Mens ChatGPT helt klart hadde et forsprang, tror du kanskje at Googles enorme ressurser ville hjelpe den med å erodere denne fordelen.

Til tross for disse resultatene, ville det være uklokt å avskrive Bard som et programmeringshjelpemiddel. Selv om det ikke er like kraftig som ChatGPT, har Bard fortsatt et betydelig slag og utvikler seg i et raskt tempo. Gitt Googles ressurser, er fremveksten av Bard som en verdig rival et spørsmål om tid.