AI-chatbots' muligheder vokser hurtigt. Men kan de kode endnu, og hvilken er bedst til opgaven?

Da Google lancerede Bard, dets svar på OpenAIs ChatGPT, manglede den en funktion, der var ret populær blandt ChatGPT-brugere: evnen til at skrive kode. Men efter populær efterspørgsel gav Google Bard et skud i armen, hvilket gjorde det muligt for den at skrive kode på snesevis af programmeringssprog.

Google har siden været højtråbende om, hvor godt Bard kan skrive og fejlsøge kode, men hvordan er det sammenlignet med det fænomenale ChatGPT? Lad os finde ud af det.

ChatGPT vs. Bard: Sprogstøtte

Officielt kan Googles Bard arbejde med omkring 20 programmeringssprog. Disse består for det meste af populære som Typescript, Python, C++, Go, Java, JavaScript og PHP. Den kan stadig håndtere mindre populære muligheder som Perl og Scala, men er ikke nødvendigvis så effektiv.

ChatGPT på den anden side har ikke en officiel liste over understøttede sprog. Chatbotten kan håndtere det meste af, hvad Bard kan håndtere og dusinvis mere. ChatGPT kan skrive, fejlsøge og forklare kode på både nyere, populære programmeringssprog og

instagram viewer
mindre populære, ældre sprog som Fortran, Pascal, BASIC og COBOL.

Support betyder dog ikke nødvendigvis færdighed. Vi prøvede nogle simple opgaver på udvalgte sprog som PHP, JavaScript, BASIC og C++. Både Bard og ChatGPT var i stand til at levere på de populære programmeringssprog, men kun ChatGPT var i stand til overbevisende at sammensætte programmer på ældre sprog. Så med hensyn til sprogunderstøttelse giver vi sejren til ChatGPT.

ChatGPT vs. Bard: Nøjagtighed og kodekvalitet

Lad os sige, at du beder ChatGPT eller Bard om at generere et stykke kode, der gør noget, og det spytter dusinvis af kodelinjer ud på få sekunder. Nemt, ikke? Men hvor ofte vil den kode virke? Lad os sige, at koden virker; hvor god er den kode?

For at sammenligne nøjagtigheden og kvaliteten af ​​kode genereret af de to AI-chatbots, gav vi dem begge nogle kodningsopgaver at udføre. Vi bad Bard og ChatGPT om at generere en simpel opgaveliste-app ved hjælp af HTML, CSS og JavaScript. Efter at have kopieret ind og set den genererede kode i en browser, så ChatGPTs app sådan ud:

Ved at bruge ChatGPTs version kan du tilføje en ny opgave, slette en opgave eller markere en opgave som fuldført. Googles Bard var også i stand til at generere en funktionel to-do liste-app. Du kan dog kun tilføje en opgave uden mulighed for at slette eller markere den som fuldført. Bards interface virkede også mindre tiltalende; sådan så det ud:

Vi gentog testen, denne gang bad vi begge chatbots om at genskabe Twitter-tidslinjekort. Her er ChatGPTs resultat:

Og her er, hvad Googles Bard producerede:

Begge resultater har deres fordele og ulemper. Vi ville have gået med Bards resultater, hvis den havde like-, retweet- og kommentarknapper. Men det udelod mærkeligt nok dem, så vi lader dig beslutte, hvad der er bedre. Kvaliteten af ​​koden handler naturligvis ikke kun om æstetikken i det, den producerer.

Når man analyserede koden genereret af begge chatbots, så Bard's ud til at være mere objektorienteret, mens ChatGPT's var mere proceduremæssig. Vores valg af programmeringssprog kunne påvirke dette, men ChatGPT syntes at skrive renere kode, når det var nødvendigt. Det har også en tendens til at generere mere komplette løsninger, hvilket typisk fører til flere linjer kode.

Med hensyn til kvaliteten af ​​den genererede kode tildeler vi denne runde til ChatGPT.

ChatGPT vs. Bard: Debugging og fejldetektion

Fejl og fejl er som gåder, som programmører elsker at hade. De vil gøre dig vanvittig, men det er ganske tilfredsstillende at reparere dem. Så når du støder på fejl i din kode, skal du ringe til Bard eller ChatGPT for at få hjælp? For at beslutte gav vi begge AI-chatbots to fejlfindingsproblemer at løse.

For det første bad vi begge chatbots om at løse en logisk fejl i en PHP-kode. Logiske fejl er notorisk sværere at få øje på, fordi kode, der indeholder dem, ikke ser forkert ud, den gør bare ikke, hvad programmøren havde til hensigt.

Koden i dette skærmbillede kører, men det virker ikke. Kan du se den logiske fejl? Vi bad Googles Bard om hjælp, og desværre kunne chatbotten ikke finde den logiske fejl i koden. Interessant nok har Googles Bard typisk tre udkastforsøg på at løse et problem, vi tjekkede alle tre udkast, og de var alle forkerte.

Vi bad derefter ChatGPT om hjælp, og det fandt straks den logiske fejl ud.

PHP-scriptet havde ingen syntaksfejl, men logikken i erUlige() funktion var baglæns. For at se, om et tal er ulige, vil du typisk tjekke, om det har en rest efter at have divideret med 2. Hvis det gør, er det et ulige tal.

Mens Bard ikke var i nærheden af ​​at identificere denne fejl, samlede ChatGPT den op i første forsøg. Vi prøvede yderligere fire logiske fejl, og Bard var kun i stand til at udvælge fejlen i ét tilfælde, mens ChatGPT konsekvent leverede. Efter at have skiftet til kode med syntaksfejl var Googles Bard i stand til at følge med og identificere dem i næsten alle de præsenterede eksempler.

Googles Bard er relativt god til at fejlfinde, men vi vil give denne sejr til ChatGPT igen.

ChatGPT vs. Bard: Kontekstbevidsthed

En af de største udfordringer ved brugen af ​​AI-chatbots til kodning er deres relativt begrænsede kontekstbevidsthed. Du beder chatbotten om at skrive noget kode, så noget mere... langs linjen glemmer den helt, at den næste ting, den bygger, er en del af det samme projekt.

Lad os f.eks. sige, at du bygger en webapp med en AI-chatbot. Du fortæller den at skrive kode til din registrering og login HTML-side, og det gør det perfekt. Og så, mens du fortsætter med at bygge, beder du chatbotten om at generere et serverside-script til at håndtere login-logikken. Dette er en simpel opgave, men på grund af begrænset kontekstbevidsthed kan det ende med at generere et login-script med nye variabler og navnekonventioner, der ikke matcher resten af ​​koden.

Så hvilken chatbot er bedre til at bevare kontekstbevidsthed? Vi gav begge værktøjer den samme programmeringsopgave: en chat-app, som vi ved, at ChatGPT allerede kan bygge.

Desværre kunne Bard simpelthen ikke fuldføre appen, fordi den mistede overblikket over projektets kontekst, efter at den havde været inaktiv i nogen tid. På trods af at være underlagt de samme betingelser, gennemførte ChatGPT appen. Endnu en gang, med hensyn til kontekstbevidsthed, giver vi det til ChatGPT.

ChatGPT vs. Bard: Problemløsning

På dette tidspunkt mangler Googles Bard på mange måder. Men kan det endelig score en sejr? Lad os teste dens problemløsningsevner. Nogle gange har du bare et problem, men du er ikke sikker på, hvordan du skal repræsentere det programmatisk, endsige hvordan du løser det.

Situationer som denne er, når AI-chatbots som Bard og ChatGPT kan være ret praktiske. Men hvilken chatbot har bedre problemløsningsevner? Vi bad dem begge om at "skrive en JavaScript-kode, der tæller, hvor mange gange et bestemt ord optræder i en tekst."

Bard svarede med en arbejdskode, selvom den mislykkes, når tegnsætningstegn er tæt på et ord, eller ordet optræder i forskellige tilfælde.

Vi kastede det samme problem på ChatGPT, og her er resultatet:

ChatGPTs kode tager en mere robust og præcis tilgang til at tælle ordforekomster i en tekst. Den tager hensyn til ordgrænser og store og små bogstaver, håndterer tegnsætning korrekt og giver mere pålidelige resultater. Endnu en gang, med hensyn til problemløsning, giver vi det til ChatGPT.

Da Google Bard stort set har tabt i hver metrik, vi brugte til sammenligning, besluttede vi at give den en chance for indløsning. Vi spurgte chatbotten "Hvilken er bedre til at kode? ChatGPT eller Google Bard?"

Mens den var enig i, at ChatGPT var mere kreativ, sagde Bard, at dets konkurrent var mere tilbøjelige til at lave fejl og at ChatGPT producerede kode, der var mindre effektiv, ikke velstruktureret og generelt mindre pålidelig. Vi er nødt til at være uenige!

ChatGPT er i sin egen liga

Googles Bard har haft en masse hype, så det kan komme som en overraskelse at se, hvor meget den mangler i forhold til ChatGPT. Selvom ChatGPT klart havde et forspring, tror du måske, at Googles enorme ressourcer ville hjælpe det med at udhule denne fordel.

På trods af disse resultater ville det være uklogt at afskrive Bard som et programmeringshjælpemiddel. Selvom det ikke er så kraftfuldt som ChatGPT, giver Bard stadig et betydeligt slag og udvikler sig i et hurtigt tempo. I betragtning af Googles ressourcer er fremkomsten af ​​Bard som en værdig rival helt sikkert et spørgsmål om tid.