ChatGPT vs. Gemini: Hvilken AI-chatbot er bedre til koding?

ChatGPT vs. Gemini: Hvilken AI-chatbot er bedre til koding?

Viktige takeaways

  • ChatGPT tilbyr overlegen språkstøtte, som spenner over et stort utvalg av språk både gamle og nye.
  • ChatGPT leverer høyere nøyaktighet og kodekvalitet sammenlignet med Gemini for kodingsoppgaver.
  • ChatGPT utmerker seg i feilsøking, feildeteksjon, kontekstbevissthet, problemløsning og generelle programmeringsfunksjoner.

Hvis du står fast på et programmeringsprosjekt, kan du lete etter et verktøy for å hjelpe deg med brainstorming, skrive ren kode eller forklare et vanskelig konsept. Hvilken AI-chatbot velger du: den raske og informative Gemini, eller den omfattende og kraftige ChatGPT?

Språkstøtte

Når det gjelder språkstøtte, overstråler ChatGPT Gemini i bredde og ferdigheter. Mens Gemini offisielt støtter rundt 22 populære programmeringsspråk – inkludert Python, Go og TypeScript – er ChatGPTs språkfunksjoner langt mer omfattende.

I motsetning til Gemini, har ikke ChatGPT en offisiell liste over støttede språk. Imidlertid kan den håndtere ikke bare de populære språkene som Gemini støtter, men også dusinvis av tilleggsspråk, fra nyere språk som TypeScript og Go til eldre som Fortran, Pascal og BASIC.

For å teste språkegenskapene deres prøvde jeg enkle kodeoppgaver i språk som PHP, JavaScript, BASIC og C++. Både Gemini og ChatGPT presterte bra med populære språk, men bare ChatGPT kunne overbevisende sette sammen programmer på eldre språk som BASIC.

Nøyaktighet og kodekvalitet

Du kommer for sent på prosjektfristen din, og du trenger en standardkode. Du ber ChatGPT og Gemini om å generere kode for å implementere den funksjonaliteten, og begge verktøyene spytter ut dusinvis av kodelinjer. Rask seier, ikke sant?

Men hvilken verktøykode kan du stole på for å levere funksjonaliteten du ba om? For å sammenligne nøyaktigheten og kvaliteten på koden generert av de to AI-chatbotene, ga jeg dem en enkel kodeoppgave å fullføre. Jeg ba Gemini og ChatGPT om å generere en enkel oppgaveliste-app ved hjelp av HTML, CSS og JavaScript. Jeg ga ingen grunning; Målet er å se hvor godt begge chatbotene kan prestere med begrenset informasjon å jobbe med.

ChatGPT (GPT-4o) produserte funksjonell kode med en «god nok» estetikk. Ved å bruke ChatGPTs kode kan du legge til eller slette en oppgave. Her er hva jeg fikk etter å ha kjørt ChatGPTs resultat på nettleseren:

Deretter ba jeg Googles Gemini om å gjenta den samme oppgaven. Gemini var også i stand til å generere en funksjonell oppgaveliste-app. Du kan også legge til og slette oppgaver, men det generelle designet var ikke like attraktivt:

Gjøremålsliste-app fra Googles Gemini

Jeg utførte en ny test, denne gangen ba begge chatbotene om å gjenskape Twitter (X.com)-feeden. ChatGPT produserte en Twitter-feed i vintagestil med en funksjonell tweeting-funksjon. Jeg kunne skrive inn i tekstboksen, sende en tweet og få den lastet dynamisk inn på siden. Det var ikke Twitter-feeden jeg håpet på, men med tanke på at de fleste av ChatGPTs treningsdata er oversvømmet med eldre Twitter-kode, er resultatene forståelige.

Twitter (X.com) feed klon av ChatGPT-1

Dessverre, i denne runden, var ikke Googles Gemini i stand til å gi funksjonell kode. Det genererte hundrevis av linjer med JavaScript-kode, men det var for mange plassholdere som måtte fylles ut med manglende logikk. Hvis du har det travelt, vil ikke en slik plassholdertung kode være spesielt nyttig, siden det fortsatt vil kreve tungt utviklingsarbeid. I slike tilfeller kan det være mer effektivt å skrive koden fra bunnen av.

Jeg prøvde noen få andre grunnleggende kodingsoppgaver, og i alle tilfeller var ChatGPTs løsning klart det bedre alternativet.

Feilsøking og feilsøking

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 Gemini eller ChatGPT for å få hjelp? Det kan avhenge av typen feil du prøver å unngå.

For å bestemme meg ga jeg begge AI-chatbotene to feilsøkingsproblemer å løse. Først ba jeg begge chatbotene om å løse en logisk feil i en enkel PHP-kode. Logiske feil er notorisk vanskeligere å oppdage enn syntaksfeil fordi de avhenger av intensjonen med koden:

PHP-kode med logisk feil

Koden i dette skjermbildet kjører og gir til og med det riktige resultatet i mange tilfeller. Den har imidlertid flere logiske feil som ikke er umiddelbart synlige; kan du få øye på dem? Jeg ba Gemini om hjelp, og dessverre kunne ikke chatboten finne ut den logiske feilen i koden:

Gemini klarer ikke å oppdage en logisk feil

Ingen av Geminis tre forsøk på å løse problemet var nøyaktige. Jeg prøvde et lignende problem for seks måneder siden med det samme skuffende resultatet; det ser ut til at Gemini ikke har blitt bedre på dette området.

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

ChatGPT oppdager logisk feil i kode

Gemini skrev også om koden for å fikse feilen:

ChatGPT skriver om koden for å fikse logiske feil

Etter å ha prøvd noen andre bug-jakt og fikse oppgaver, var ChatGPT klart bedre på jobben. Tvillingene var imidlertid ikke en tapt sak. Den var i stand til å fikse mange syntaksfeil jeg kastet på den, men den slet med komplekse feil, spesielt logiske feil.

Kontekstbevissthet

En av de største utfordringene med bruk av AI chatbots for koding er deres relativt begrensede kontekstbevissthet. De kan kanskje lage separate kodebiter for veldefinerte oppgaver, men sliter med å bygge kodebasen for et større prosjekt.

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. Du ber deretter chatboten om å generere et skript på serversiden 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.

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

Siden ankomsten av GPT-4 Turbo og dets 128k kontekstvindu, har ChatGPTs evne til å beholde mye mer kontekst, over en lengre periode, økt betydelig. Da jeg først bygde en chat-app med ChatGPT ved å bruke 4k-kontekstvinduet GPT-4, gikk det relativt greit med bare mindre hendelser med avvik fra kontekst.

Å gjenskape det samme prosjektet i november 2023 med 128k GPT-4 Turbo viste markant forbedring i kontekstbevissthet. Seks måneder senere, i mai 2024, har det ikke vært noen vesentlig endring i kontekstbevissthet, men heller ingen forverring.

Dessverre, da jeg først prøvde Gemini (den gang kalt Bard) på det samme prosjektet, mistet det oversikten over prosjektets kontekst og klarte ikke å fullføre appen. Flere runder med oppdateringer senere testet jeg Gemini på nytt på samme prosjekt, og det ser ut til å ha forverret seg ytterligere. Så, nok en gang, når det gjelder kontekstbevissthet, vinner ChatGPT.

Problemløsning

På dette tidspunktet mangler Googles Gemini 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.

I disse situasjonene kan chatbots som Gemini og ChatGPT komme godt med. Jeg ba dem begge om å «Skriv en JavaScript-kode som teller hvor mange ganger et bestemt ord vises i en tekst.«

Her er resultatet fra Googles Gemini:

Gemini klarer ikke å lage en optimalisert Javascript-funksjon

Og her er resultatet fra ChatGPT:

ChatGPT forsøker å lage en funksjon for å telle ord i et tekstsegment

Til å begynne med ser begge tilnærmingene ganske solide ut. Geminis tilnærming ser til og med konsis ut. ChatGPTs kode tar imidlertid en mer robust og nøyaktig tilnærming til å telle ordforekomster i en tekst. Den tar hensyn til ordgrenser og store og små bokstaver, håndterer tegnsetting på riktig måte og gir mer pålitelige resultater. Nok en gang er ChatGPT overlegen.

ChatGPTs tilnærming deler inn teksten i ord på en måte som kan håndtere alle ikke-ordtegn som skilletegn og spesialtegn som ordskillere. I mellomtiden anser Gemini bare mellomrom som en skilletegn. Denne tilnærmingen kan mislykkes hvis teksten inneholder skilletegn eller andre ikke-ordtegn i ord, eller hvis ordene ikke er atskilt med mellomrom.

Siden Google Gemini stort sett har tapt i hver beregning jeg brukte til sammenligning, bestemte jeg meg for å gi den en sjanse til innløsning. Jeg spurte chatboten «Hvilken er bedre til å kode? ChatGPT eller Gemini?«Her er svaret:

Gemini svarer på et spørsmål om seg selv

Virker som noe jeg er delvis enig i! Jeg spurte ChatGPT hva den syntes om vurderingen, og den var enig:

ChatGPT er enig i Geminis vurdering av evnene

Selv om dette virker ganske normalt, er det en interessant vri her. Gjennom det meste av fjoråret hevdet Gemini (den gang Bard) alltid selvsikkert at den kunne produsere bedre kode, var mer effektiv og gjorde færre feil. Her er et skjermbilde fra en av testene mine i november 2023:

Google Bard skryter av å være bedre enn ChatGPT

Det ser ut til at Gemini nå er litt mer selvbevisst og beskjeden!

Programmeringsfunksjoner

Verken ChatGPT eller Gemini har store funksjoner som utelukkende er for programmering. Imidlertid kommer begge chatbotene med funksjoner som kan øke programmeringsopplevelsen din betydelig hvis du vet hvordan du bruker dem effektivt.

ChatGPT tilbyr en rekke funksjoner som kan strømlinjeforme programmeringsprosessen når du bruker chatboten. Nyttige tillegg som Memory og Custom GPT lar deg tilpasse ChatGPT for dine spesifikke programmeringsbehov.

For eksempel kan Custom GPT-funksjonen hjelpe deg med å lage spesialiserte miniversjoner av ChatGPT for bestemte prosjekter, ved å laste opp relevante filer. Dette gjør oppgaver som feilsøking av kode, optimalisering og å legge til nye funksjoner mye enklere. Samlet sett, sammenlignet med Googles Gemini, inkluderer ChatGPT flere funksjoner som kan forbedre programmeringsopplevelsen din.

ChatGPT er i en egen liga

Googles Gemini 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 Gemini som et programmeringshjelpemiddel. Selv om det ikke er like kraftig som ChatGPT, gir Gemini fortsatt et betydelig slag og utvikler seg i et raskt tempo.

Støtt vårt arbeid ❤️

Hvis du likte denne artikkelen, vurder å gi en tips for å hjelpe oss med å fortsette å publisere kvalitetsinnhold.

Sikker betaling med PayPal