TechBalkans
AI

Claude vs Gemini za programiranje — test na 5 stvarnih zadataka (2026)

Oba modela tvrde da su najbolja za kod. Testirali smo ih na 5 realnih programerskih zadataka: od debagovanja legacy PHP-a do pisanja Rust servisa. Rezultati vas mogu iznenaditi.

DM

Damir Marić

AI & softver · 29. august 2026. · 10 min čitanja

Claude vs Gemini za programiranje — test na 5 stvarnih zadataka (2026)

AI asistenti za programere su od 2023. eksplodirali. Danas su dva imena dominantna: Anthropic Claude i Google Gemini. Oba tvrde da su „najbolji za kodiranje”, oba imaju milijarde dolara iza sebe, oba su prošla intenzivni RLHF trening na programerskim zadacima. Koji je zapravo bolji? Umjesto marketing materijala, uzeo sam 5 stvarnih zadataka iz svakodnevnog rada i testirao oba modela na svakom.

Metodologija

Testovi su izvršeni u augustu 2026:

  • Claude: Sonnet 4.5 (najnoviji stable, s vision + tool-use)
  • Gemini: 2.5 Pro (Deep Think varijanta, s code execution)
  • Setup: Oba modela su imala pristup istoj datoteci repozitorija (Python backend + Rust servis), istom kontekstu, bez interneta za oba.
  • Evaluacija: Kod je pregledan od strane 2 nezavisna senior programera koji nisu znali koji model je koji output napisao.

Zadatak 1: Debagovanje legacy PHP-a

Dat fajl od 800 linija naslijeđenog PHP 7.4 koda sa misterioznim memory leakom. Svaki model dobio: “Ovdje curi memorija, nađi zašto i popravi.”

Claude (Sonnet 4.5): Potrošio 4 iteracije. Prvo je locirao problem u jednoj closure funkciji koja drži referencu na $this nakon što se objekt dealocira. Zatim je napravio fix sa WeakReference. Dalo je čist kod, radio je na prvoj reprodukciji.

Gemini (2.5 Pro): Potrošio 6 iteracija. Prvo je sugerirao krivi fix (dodavanje unset() na krivo mjesto), pa kad sam mu rekao da ne radi, vratio se i našao istu stvar kao Claude. Ali dodao je pretjerani logging u fix koji je ostavio u produkcijskom kodu.

Rezultat: Claude bolji, ali Gemini solidan.

Zadatak 2: Pisanje Rust mikroservisa

Specifikacija: “Treba mi Rust servis koji sluša na portu 8080, parsira JSON, vraća health-check, ima graceful shutdown. Koristi samo standardnu biblioteku, bez externih crate-ova.”

Claude: Napisao kompaktnih 110 linija sa svim traženim funkcijama. Ispravno je rukovao sa signalima (SIGTERM, SIGINT) za graceful shutdown, koristio tokio::sync::oneshot za komunikaciju između main taska i shutdown handlera. Cargo.toml je imao samo tokio = { version = "1", features = ["full"] }. Sve prošlo cargo build i cargo test na prvu.

Gemini: Napisao 180 linija, koristio std::thread umjesto tokia, pa je manualno morao handlati join-handling. Iako je radio, kod je imao race condition u shutdown logici koju sam morao ručno ispraviti. Također, koristio je unsafe blok bez potrebe (raw pointer za cleanup), što je sigurnosni anti-pattern.

Rezultat: Claude uvjerljivo bolji.

Zadatak 3: Code review sa security fokusom

Dat TypeScript Express API od 400 linija. Zadatak: “Pregledaj kod, nađi sve security probleme, rangiraj po ozbiljnosti.”

Claude: Našao 7 problema, od kojih su 3 bile visoke ozbiljnosti: SQL injection u jednoj query helper funkciji, missing rate limiting na auth endpointu, insecure CORS konfiguracija. Svaki problem je dobio preciznu liniju koda, objašnjenje rizika, i konkretan prijedlog fixa.

Gemini: Našao 5 problema, od kojih 2 visoke ozbiljnosti. Propustio je jedan XSS vektor u template rendering helperu i jedan timing attack u password compare funkciji. Ali dao je odličan kontekstualni savjet za ostale.

Rezultat: Claude malo bolji (više problema, manje promašaja).

Zadatak 4: Pisanje SQL migracije

Dat shemu postojeće baze i zahtjev za promjenu: “Dodaj tenant_id column na 3 tabele, backfill sa postojećim podacima, kreiraj composite index.”

Claude: Napravio 4 fajla migracije sa proper down-migration, validirao je da foreign key constraints rade, napravio test SQL skriptu.

Gemini: Napravio 2 fajla, zaboravio down-migration, napravio grešku u indeksu (krivi column order za optimalan query plan).

Rezultat: Claude bolji, Gemini mora ručno korigiran.

Zadatak 5: Refaktoriranje React komponente

Dat klasu komponentu od 600 linija, zadatak: “Razdijeli na manje komponente, izdvoji custom hookove, zadrži isti API.”

Claude: Razbio na 4 komponente + 2 custom hooka, svaki sa jasnom odgovornošću. Ispostovao TypeScript tipove potpuno, dodao JSDoc komentare na složenijim mjestima.

Gemini: Razbio na 3 komponente, jedan hook. Zaboravio je ažurirati test fajlove — Claude je ih generisao automatski.

Rezultat: Claude bolji, ali oba rade.

Konačni rezime

ZadatakClaudeGeminiRazlika
1. PHP debagovanje✅ 4 iteracije⚠️ 6 iteracijaClaude
2. Rust mikroservis✅ Čist, ispravan❌ Race condition, unsafeClaude uvjerljivo
3. Security review✅ 7/7 (svi važni)⚠️ 5/7 (2 propuštena)Claude
4. SQL migracija✅ Sa down❌ Pola poslaClaude
5. React refaktor✅ Kompletno⚠️ Bez testovaClaude

Claude je pobijedio u svih 5 zadataka, ali razlika varira — u nekim zadacima (3, 5) razlika je mala, u drugima (2, 4) značajna.

Za koga je ko

  • Claude je bolji za: sistemsko programiranje (Rust, Go, C++), security-sensitive kod, migracije baza, refaktoriranje velikih fajlova.
  • Gemini je solidan za: brze prototipove, manje kritične skripte, učenje novog frameworka uz objašnjenja.
  • Oba su lošija za: legacy kod bez konteksta, zadatke gdje ne znaš tačno šta tražiš.

Preporuka: Ako biraš jedan model za svakodnevni rad, Claude Sonnet 4.5 je bolji izbor u 2026. za ozbiljne programerske zadatke. Cijena je ista (oba $20-30/mjesečno za pretplatu), output kvalitet je konzistentno viši na teškim zadacima.

Gemini je odličan sekundarni alat — koristim ga za brze provjere i pitanja o Google Cloud ekosustavu, ali Claude ostaje primarni za kod.

DM

Damir Marić

Damir Marić je član redakcije TechBalkans.

Svi članci od Damir →

Ne propusti nijedan vodič

Sedmični pregled u inbox.

Komentari

Svi mogu vidjeti komentare. Za komentiranje se prijavi.

    Učitavanje komentara...