Kasım 29 2024

Cursor vs GitHub Copilot: Hangisi Gerçekten İşe Yarıyor?

Kod yazarken yanınızda bir yapay zeka (ai) asistanı olması artık bir lüks değil, modern yazılım geliştiriciler için standart bir ihtiyaç haline geldi. Piyasada developer tools dünyasını kasıp kavuran iki büyük isim var: Yılların eskitemediği, VS Code’un sadık dostu GitHub copilot ve son zamanlarda adını sıkça duyduğumuz, adeta bir çılgınlık haline gelen cursor. Peki, bu iki devden hangisi gerçekten işe yarıyor? Sizin için süslü pazarlama cümlelerini bir kenara bıraktık, kolları sıvadık ve gerçek bir projede bu iki aracı test ettik. İşte modern kodlama dünyasının yeni gladyatörleri!

Yarışmacıları Tanıyalım: Copilot Amca ve Yeni Yetme Cursor

Karşılaştırmaya geçmeden önce, bu iki aracın felsefesini anlamak gerekiyor. Çünkü ikisi de temelde kod yazmanıza yardım etse de, çalışma mantıkları oldukça farklı.

GitHub Copilot, Microsoft destekli bir VS Code eklentisidir. Mevcut editörünüze kurulur ve siz kod yazarken bir sonraki satırı tahmin etmeye çalışır. “Tab tuşuna bas ve devam et” mantığıyla çalışır.

Cursor ise bağımsız bir kod editörüdür. VS Code’un açık kaynaklı altyapısı (VSCodium) üzerine inşa edilmiştir. Yani Cursor’ı indirdiğinizde aslında yeni bir VS Code indirmiş olursunuz (tüm eklentileriniz ve ayarlarınız tek tıkla aktarılır). Ancak en büyük farkı, yapay zekanın eklenti olarak değil, editörün tam kalbine, çekirdeğine entegre edilmiş olmasıdır.

Gerçek Bir Senaryo: Savaş Alanı

Sözü uzatmayalım ve doğrudan pratiğe geçelim. Test etmek için basit ama gerçekçi bir senaryo seçtik: Bir React projesinde, harici bir API’den hava durumu verisi çeken, bu verileri filtreleyen ve harita üzerinde gösteren bir dashboard bileşeni yazmak.

GitHub Copilot Nasıl Performans Gösterdi?

Copilot, kod tamamlama (autocomplete) konusunda hala bir numara. Siz daha const fetchWeatherData = yazarken, arka plandaki bağlamı (context) sezip fonksiyonun devamını şak diye önünüze getiriyor. Hızı muazzam. Ancak iş karmaşıklaşınca, örneğin “API’den dönen veriyi formatla ve bunu haritadaki marker yapısına uygun hale getir” dediğinizde tıkanmaya başlıyor. Satır satır onaylayarak gitmeniz gerekiyor. En büyük eksisi ise projenin genel yapısını tam olarak görememesi. Bir dosyada yaptığınız değişiklik, diğer dosyadaki bir fonksiyonu bozduğunda bunu otomatik olarak fark edip düzeltemiyor.

Cursor Nasıl Performans Gösterdi?

Cursor burada tamamen farklı bir lige geçiyor. Cursor’ın içinde yer alan “Composer” (Cmd+I) özelliğini açtık ve şu promptu girdik: “@components klasöründeki WeatherMap.jsx bileşenini güncelle, gelen verideki koordinatları al ve haritada işaretle. Ayrıca App.jsx’teki state yapısını buna uygun hale getir.”

Cursor, projedeki birden fazla dosyayı aynı anda okudu, aralarındaki ilişkiyi anladı ve tek bir hamlede 3 farklı dosyayı hatasız bir şekilde güncelledi. Kullandığı Claude 3.5 Sonnet modeli sayesinde, kodun mantıksal kalitesi Copilot’a kıyasla çok daha yüksek ve insansıydı.

[Görsel: Cursor Composer ekranında tek bir prompt ile birden fazla dosyanın (App.jsx ve WeatherMap.jsx) aynı anda canlı olarak düzenlenme anı]

Detaylı Karşılaştırma: Hız, Doğruluk ve Gizlilik

Yapay zeka araçlarında “hız” ve “doğruluk” genellikle ters orantılıdır. Hızlı olan model bazen saçmalar, doğru olan model ise sizi biraz bekletir. İşte bu iki aracın farklı disiplinlerdeki performansı:

  • Bağlam (Context) Penceresi: Cursor, projenizin tamamını indeksler. Klasör yapısını, kullandığınız kütüphaneleri bilir. Copilot ise genellikle sadece açık olan sekmelerinize ve imlecinizin bulunduğu yere odaklanır.
  • Hız: Copilot, satır içi kod tamamlamada (inline autocomplete) milisaniyeler içinde yanıt verir. Cursor da oldukça hızlıdır ancak büyük modelleri (GPT-4o veya Claude 3.5) kullandığı için çoklu dosya işlemlerinde birkaç saniye bekletebilir.
  • Gizlilik (Privacy): Kurumsal projelerde çalışanlar için bu konu hayati önem taşır. Copilot, kurumsal üyeliklerde verilerinizi eğitime dahil etmeyeceğini garanti eder. Cursor da benzer şekilde “Privacy Mode” sunar ve kodunuzun sunucularında saklanmadığını belirtir. Ancak yine de lokalde çalışan alternatifler kadar güvenli hissettirmeyebilir.

Hangisinin Hangi Özelliği İyi? (Artı/Eksi Tablosu)

Özellik GitHub Copilot Cursor
Satır İçi Kod Tamamlama Harika (Çok hızlı) İyi (Bazen hantal)
Çoklu Dosya Düzenleme Zayıf (Dosya dosya gezmeniz gerekir) Mükemmel (Composer özelliği ile tek tıkla)
Kullanılan Modeller Özel OpenAI modelleri Claude 3.5 Sonnet, GPT-4o, Llama 3 vb. (Seçilebilir)
Proje Bağlamı (RAG) Sınırlı Çok güçlü (Tüm projeyi anlar)
Kullanım Kolaylığı VS Code içinde doğrudan çalışır Yeni bir editöre geçiş gerektirir

Cüzdan Düşmanları: Fiyatlar ve Ücretsiz Alternatifler

Gelelim işin en can alıcı noktasına: Bu oyuncakların maliyeti ne?

GitHub Copilot: Bireysel kullanım için aylık 10$ veya yıllık 100$. Öğrenciler ve popüler açık kaynaklı projelerin yöneticileri için tamamen ücretsiz.

Cursor: Aylık 50 hızlı “premium” istek sunan ücretsiz bir sürümü var. Ancak aktif olarak kullanacaksanız Pro planı aylık 20$. Bu planda ayda 500 hızlı istek hakkınız oluyor, sonrasında istekleriniz biraz daha yavaş işleniyor.

Ücretsiz ve Lokal Alternatifler Var mı?

Eğer bu araçlara bütçe ayırmak istemiyorsanız veya kodunuzun internete çıkmasını istemiyorsanız harika bir alternatif kombinasyon mevcut:

VS Code + Continue Eklentisi + Ollama: Bilgisayarınıza Ollama kurarak Llama 3 veya Mistral gibi modelleri lokalinizde çalıştırabilir, VS Code içindeki “Continue” eklentisiyle bu modellere tamamen ücretsiz ve internet bağlantısı olmadan bağlanabilirsiniz. Elbette performans bir Claude 3.5 Sonnet kadar keskin olmayacaktır ancak gizlilik ve maliyet açısından kusursuzdur.

Son Karar: Hangisini Seçmelisiniz?

Peki günün sonunda cüzdanımızı kime teslim edeceğiz?

Eğer yaptığınız iş genellikle bilinen kalıpları tekrarlamaksa, hızlıca fonksiyonlar yazıp geçmek istiyorsanız ve halihazırda kurulu olan VS Code düzeninizi bozmak istemiyorsanız, aylık 10$’lık fiyatıyla GitHub Copilot hala mantıklı ve güvenli bir liman.

Ancak sıfırdan büyük projeler geliştiriyorsanız, karmaşık mimariler arasında kayboluyorsanız ve yapay zekanın sadece kod yazmasını değil, projenin tamamını refactor etmesini (yeniden düzenlemesini) istiyorsanız, aylık 20$’ı gözden çıkarıp kesinlikle Cursor kullanmalısınız. Cursor, şu an piyasada yazılım geliştirme deneyimini gerçekten dönüştüren nadir araçlardan biri.

Category: Genel | LEAVE A COMMENT
Kasım 29 2024

Cursor vs GitHub Copilot: Hangisi Gerçekten İşe Yarıyor?

Yazılım dünyası son bir yıldır adeta bir “yapay zeka savaşı” alanı haline geldi. Eskiden sadece copilot kullanarak “Acaba yazdığım fonksiyonu tamamlar mı?” diye beklerken, bugün karşımızda kod tabanımızı tamamen teslim edebileceğimiz cursor gibi devrimsel ai ve developer tools alternatifleri var. Peki ama hangisi gerçekten işe yarıyor? Bu yazıda, her iki aracı da gerçek projelerde terleterek test ettim ve sonuçları sizin için raporluyorum. Yapay zeka ile kodlama deneyimini baştan tanımlayan bu iki devin kapışmasına yakından bakalım.

İki Dev Karşı Karşıya: Nedir Bu Araçlar?

Test detaylarına geçmeden önce, tarafları doğru tanımlayalım. Çünkü yapısal olarak birbirlerinden oldukça farklılar.

  • GitHub Copilot: Microsoft ve OpenAI ortaklığının bir meyvesi. VS Code, JetBrains gibi popüler editörlerin içine bir eklenti (extension) olarak kuruluyor. Görevi, siz kod yazarken bir sonraki satırı tahmin etmek veya yan paneldeki chat üzerinden size yardımcı olmak.
  • Cursor: Doğrudan VS Code’un açık kaynak kodlu altyapısı (fork) üzerine inşa edilmiş, başlı başına müstakil bir kod editörü. Yani VS Code’dan vazgeçip Cursor’ı kuruyorsunuz (tüm eklentileriniz tek tıkla aynen aktarılıyor). AI, bu editörün kalbine gömülü olarak geliyor.

Gerçek Bir Senaryo: FastAPI ve React Projesinde Test Ettik

Bu iki aracı sadece teorik olarak karşılaştırmadık. Gerçek bir Python (FastAPI) backend ve React frontend barındıran mini bir e-ticaret projesinde test ettik. Görevimiz basitti: Mevcut sisteme JWT tabanlı bir kullanıcı doğrulama (auth) sistemi eklemek ve bunu frontend ile bağlamak.

GitHub Copilot Deneyimi

Copilot, “ghost text” dediğimiz satır içi kod tamamlama konusunda hala çok hızlı. Ben daha def create_access_token yazarken, arka plandaki kütüphaneleri de hesaba katarak fonksiyonu neredeyse hatasız tamamladı. Ancak iş frontend tarafındaki dosyayı güncelleyip, backend ile entegre etmeye gelince koptu.

Copilot’a yan panelden “Auth akışını frontend’e bağla” dediğimde bana genel geçer bir kod verdi. Bu kodu alıp manuel olarak App.jsx dosyama kopyalamam, API endpoint’lerini kendi projeme göre elle düzenlemem gerekti. Yani Copilot iyi bir asistan, ancak işin ameleliğini hala siz yapıyorsunuz.

Cursor Deneyimi

Cursor ise bu senaryoda tamamen farklı bir ligde oynadığını kanıtladı. Editör içinde Cmd + I (veya Windows için Ctrl + I) tuşlarına basarak “Composer” modunu açtım. Projeyi bütünüyle analiz etmesi için @codebase komutunu ekledim ve şu prompt’u verdim:

Backend'deki auth sistemini kullanarak frontend tarafında login sayfasını oluştur ve Axios isteklerini buna göre güncelle.

Cursor, projedeki klasör yapısını taradı. FastAPI’deki endpoint’leri gördü, React tarafındaki router yapısını anladı ve benim için aynı anda hem Login.jsx dosyasını oluşturdu hem de api.js dosyasındaki yetkilendirme başlıklarını (headers) güncelledi. Değişiklikleri tek tek onaylamamı (Accept/Reject) istedi ve sistem tek seferde çalıştı.

[Görsel: Cursor Composer arayüzünün birden fazla dosyayı aynı anda analiz edip düzenleme anı]

Bağlam (Context) Neden Bu Kadar Önemli?

Yapay zeka modellerinin en büyük zayıflığı “bağlam” yani projenizin bütününü görememeleridir. Copilot, genellikle sadece o an açık olan sekmedeki dosyayı veya son açtığınız birkaç dosyayı bağlam olarak kabul eder. Bu yüzden büyük projelerde sık sık “Bunu nerede tanımlamıştık?” sorusunu sorar.

Cursor ise arka planda tüm kod tabanınızı yerel olarak indeksler (vektör veri tabanı oluşturur). Siz @UserHelpers dediğinizde, o dosyanın nerede olduğunu bilir ve doğrudan o bağlamı yapay zekaya (örneğin Claude 3.5 Sonnet veya GPT-4o) gönderir. Sonuç? Çok daha az halüsinasyon gören, projenizin kurallarına uyan doğru kodlar.

Karşılaştırma Tablosu

İki aracın öne çıkan özelliklerini, yaptığımız testler doğrultusunda şu şekilde özetleyebiliriz:

Özellik GitHub Copilot Cursor
Arayüz Entegrasyonu Eklenti (Her editöre uyar) Müstakil Editör (VS Code Fork’u)
Çoklu Dosya Düzenleme Zayıf / Manuel kopyala-yapıştır Çok Başarılı (Composer Modu)
Kod Tabanı İndeksleme Sınırlı Tam ve Gelişmiş (@codebase)
Kullanılan Modeller Copilot özel modelleri Claude 3.5 Sonnet, GPT-4o, Llama vb. (Seçilebilir)
Gizlilik (Privacy Mode) Var (Kurumsal hesaplarda daha güçlü) Var (Kodları sunucuda saklamama seçeneği)

Fiyatlandırma ve Ücretsiz Alternatifler

Gelelim işin cüzdanı ilgilendiren kısmına. Harika özellikler bedava gelmiyor, ancak bütçenize göre harika alternatifler de mevcut.

  • GitHub Copilot Fiyatı: Bireysel kullanım için aylık 10$. Eğer öğrenciyseniz veya popüler bir açık kaynak kodlu projenin yöneticisiyseniz tamamen ücretsiz.
  • Cursor Fiyatı: Aylık 50 premium sorgu hakkı veren “Hobby” planı ücretsiz. Sınırsız yavaş sorgu ve aylık 500 hızlı premium model (Claude 3.5 Sonnet/GPT-4o) sorgusu sunan Pro planı ise aylık 20$.

Peki Ücretsiz Alternatif Yok mu?

Elbette var! Eğer hiçbir ücret ödemeden yapay zeka desteğiyle kod yazmak istiyorsanız şu kombinasyonu kullanabilirsiniz:

VS Code + Continue.dev (Eklenti) + Ollama (Lokal Model): Bilgisayarınıza Ollama kurup Llama 3 veya Qwen gibi açık kaynaklı modelleri indirebilir, VS Code üzerinde Continue.dev eklentisi aracılığıyla tamamen ücretsiz ve internete bile ihtiyaç duymadan kendi yapay zeka asistanınızı çalıştırabilirsiniz. Bir diğer güçlü ücretsiz alternatif ise bireysel geliştiriciler için harika bir otomatik tamamlama sunan Codeium eklentisidir.

Kertenkerem’in Kararı: Hangisini Seçmelisiniz?

Eğer “Ben editörümden vazgeçmem, JetBrains veya standart VS Code kullanırım. Sadece yazarken bana ufak tefek tamamlamalar yapsın, çok da projenin geneline karışmasın” diyorsanız, GitHub Copilot hala stabil ve güvenli bir liman.

Ancak, “Ben yapay zekayı bir asistan gibi değil, bana junior bir yazılımcı gibi eşlik etsin diye istiyorum. Büyük refactoring işlemlerini ona yaptırayım, hata ayıklarken tüm projeyi tarasın” diyorsanız, tereddüt etmeden Cursor‘a şans vermelisiniz. Claude 3.5 Sonnet modeliyle birleşen Cursor, şu an piyasadaki en yetenekli kodlama aracı konumunda.

Category: Genel | LEAVE A COMMENT
Kasım 22 2024

Claude ile Kod Yazmak: Prompt’tan Çalışan Uygulamaya

Yazılım dünyasında kartlar her gün yeniden dağıtılıyor. “Kod yazmayı bilmeden yazılımcı olmak” gibi büyük vaatleri ve pazarlama balonlarını bir kenara bırakalım; bugün asıl odaklanmamız gereken şey, ai ve llm araçlarını birer asistan olarak nasıl en yüksek verimle kullanabileceğimiz. Bu yazıda, özellikle kod yazma yetenekleriyle son dönemde tahtı sallayan claude modelini merceğe alıyoruz. Sadece teoride kalmayıp, doğru prompt engineering tekniklerini kullanarak sıfırdan çalışan bir uygulamayı nasıl ayağa kaldıracağımızı adım adım test edeceğiz. Hazırsanız, kahvenizi alın ve yeni nesil kodlama sürecini birlikte deneyimleyelim.

Neden Claude? Kodlamada Farkı Yaratan Ne?

Bugün piyasada onlarca farklı dil modeli var. Ancak yazılımcıların ve teknoloji meraklılarının büyük bir kısmı, kodlama söz konusu olduğunda rotayı Claude’a (özellikle Claude 3.5 Sonnet modeline) kırıyor. Bunun “çünkü çok zeki” gibi yüzeysel bir cevabı yok. Teknik olarak sebebi, Claude’un karmaşık mantık yürütme (reasoning) yeteneği ve “context window” yani bağlam penceresini yönetme biçimidir.

Claude, verdiğiniz kod blokları arasındaki ilişkileri çok daha iyi analiz ediyor. Bir fonksiyonda yaptığınız değişikliğin, projenin diğer ucundaki bir dosyayı nasıl etkileyeceğini sezebiliyor. Ayrıca, yazdığı kodlar genellikle “çalışmaya hazır” oluyor; yani sizi saatlerce hata (bug) temizlemekle uğraştırmıyor.

“Artifacts” Devrimi: Tarayıcıda Kod Koşturmak

Eğer Claude.ai arayüzünü kullandıysanız, “Artifacts” özelliğine denk gelmişsinizdir. Bu özellik, Claude’un yazdığı HTML, CSS, JavaScript veya React kodlarını ekranın sağ tarafında canlı bir önizleme olarak çalıştırmasını sağlıyor. Kodun çıktısını görmek için yerel bilgisayarınızda bir geliştirme ortamı kurmanıza gerek kalmıyor.

[Görsel: Claude Artifacts arayüzünde çalışan minimalist bir web uygulamasının canlı önizlemesi]

Adım Adım Deney: “TaskFlow” Pomodoro Uygulaması

Gelin, vaatleri test edelim. Claude’a sadece “Bana bir Pomodoro uygulaması yaz” demek yerine, sistem promptu ve detaylı isterlerle yaklaşacağız. Buna prompt engineering diyoruz; yani modele sınırlarını, rolünü ve uyması gereken kuralları net bir şekilde çiziyoruz.

1. Adım: Sistem Promptu ve İsterlerin Hazırlanması

Claude’a doğrudan konuya giren, rol tanımlayan ve yapısal sınırlar koyan şu promptu verdik:

Rol: Kıdemli Frontend Geliştiricisi
Teknolojiler: React, Tailwind CSS, Lucide Icons
Görev: Minimalist ve modern bir Pomodoro zamanlayıcı uygulaması geliştir.

Gereksinimler:
1. Zamanlayıcı: 25 dk odaklanma, 5 dk kısa mola, 15 dk uzun mola modları olsun.
2. Tur Sayacı: Kullanıcı kaç tur tamamladığını görebilsin.
3. Sesli Uyarı: Süre bittiğinde tarayıcı içi hafif bir ses çalsın.
4. Tasarım: Koyu tema (Dark Mode) uyumlu, göz yormayan pastel tonlar.
5. Kod yapısı tek bir dosya (Single File Component) halinde olsun ki Artifacts üzerinde hemen çalışsın.

2. Adım: Claude’un Tepkisi ve Kod Üretimi

Claude, bu promptu aldıktan sonra saniyeler içinde temiz bir React bileşeni oluşturdu. Tailwind sınıflarını son derece estetik kullandı. State yönetimini (zamanın durdurulması, sıfırlanması ve modlar arası geçişler) hatasız kurguladı.

İşte Claude’un ürettiği kod yapısının temel mantığı:

// Claude'un kurduğu state yapısından bir kesit
const [timeLeft, setTimeLeft] = useState(25 * 60);
const [isRunning, setIsRunning] = useState(false);
const [currentMode, setCurrentMode] = useState('focus'); // focus, shortBreak, longBreak

Peki sesli uyarı çalıştı mı? Evet, HTML5 Audio API’sini kullanarak tarayıcının yerel bip sesini üreten ufak bir fonksiyonu koda dahil etti. Harici bir .mp3 dosyasına bağımlı kalmadan bu sorunu çözmesi tam bir “kıdemli geliştirici” refleksiyidi.

3. Adım: Context Yönetimi (Uygulamayı Büyütmek)

Uygulamaya yeni bir özellik eklemek istedik: “Yapılacaklar Listesi (To-Do List)”. İşte burada bağlam (context) yönetimi devreye giriyor. Claude’a tüm kodu tekrar yazdırmak yerine, sadece ilgili değişikliği yapmasını istedik:

“Harika gidiyor. Şimdi bu Pomodoro’nun altına, o an odaklandığımız görevi seçebileceğimiz basit bir yapılacaklar listesi ekle. Mevcut state yapısını bozmadan entegre et.”

Claude, mevcut kodu hafızasında (context) tutarak, sadece gerekli eklemeleri yaptı ve güncellenmiş tek parça kodu bize sundu. Kod hiçbir aşamada kırılmadı.

Claude ile Kodlama: Artılar ve Eksiler

Yaptığımız yoğun testler sonucunda Claude’un kodlama asistanı olarak performansını şu şekilde özetleyebiliriz:

Özellik Artıları (+) Eksileri (-)
Kod Kalitesi Modern standartlara uygun, temiz ve okunabilir kod yazar. Gereksiz kütüphane bağımlılığı yaratmaz. Çok niş veya çok yeni güncellenmiş kütüphanelerde eski versiyon kodlar önerebilir.
Hata Çözme Hata çıktılarını (error log) verdiğinizde sorunu hızla tespit edip nokta atışı düzeltir. Bazen aynı hatayı düzeltirken kodun başka çalışan bir yerini bozabilir (Regresyon).
Arayüz ve Deneyim Artifacts sayesinde anında görsel çıktı verir, prototip süresini 10 kat hızlandırır. Ücretsiz plandaki katı kullanım limitleri kod yazarken yarı yolda bırakabilir.

Fiyatlandırma ve Ücretsiz Alternatifler

Claude’un bu yeteneklerinden faydalanmak için önünüzde birkaç seçenek var:

  • Claude.ai (Ücretsiz Web Sürümü): Günlük çok sıkı limitleri vardır. Birkaç büyük kod sorgusundan sonra “Limitiniz doldu, 5 saat sonra gelin” uyarısı alabilirsiniz. Prototip yapmak için yeterli ama profesyonel işler için zorlayıcıdır.
  • Claude Pro ($20/ay): Web arayüzünde 5 kat daha fazla mesaj hakkı sunar. Projeler (Projects) özelliğiyle kod tabanınızı sisteme yükleyip onun üzerinden konuşabilirsiniz.
  • Claude API (Kullandığın Kadar Öde): VS Code veya Cursor gibi editörlerin içine Claude’u entegre etmek istiyorsanız en mantıklı yoldur. Harcadığınız token başına ödeme yaparsınız.

Ücretsiz ve Güçlü Alternatifler Neler?

Eğer bütçeniz yoksa veya Claude limitlerine takılmak istemiyorsanız şu alternatifleri değerlendirebilirsiniz:

  • Google AI Studio (Gemini 1.5 Pro): Tamamen ücretsiz bir geliştirici paneli sunar. En büyük avantajı, 2 milyon token’lık devasa bağlam penceresidir. Tüm projenizin kodunu tek seferde içine atabilirsiniz.
  • DeepSeek Coder: Son dönemin yükselen yıldızı. Kodlama konusunda inanılmaz başarılı ve API fiyatları Claude’a kıyasla neredeyse bedava.
  • Ollama (Lokal/Çevrimdışı): Bilgisayarınızın donanımı güçlüyse, Qwen2.5-Coder gibi açık kaynaklı modelleri tamamen ücretsiz ve internet bağlantısı olmadan bilgisayarınızda koşturabilirsiniz.

Kertenkerem’in Son Sözü: Yazılımcılar İşsiz mi Kalıyor?

Günün sonunda gördük ki, Claude harika bir yardımcı pilot (co-pilot). Ancak uçağı tek başına uçurması henüz mümkün değil. Siz ne istediğinizi, mantık sınırları çerçevesinde ve doğru algoritmik düşünceyle belirtmediğiniz sürece Claude size sadece şık görünen ama işlevsiz kod yığınları verecektir.

Yani hayır, kodlama ölmedi. Sadece artık amelelik kısmını (syntax ezberlemek, parantez kapatmayı unutmak vb.) yapay zekaya devrediyoruz; biz ise sistem mimarisi tasarlamaya ve problem çözmeye odaklanıyoruz. Denemeye değer mi? Kesinlikle evet.

Category: Genel | LEAVE A COMMENT
Kasım 22 2024

Claude ile Kod Yazmak: Prompt’tan Çalışan Uygulamaya

Yazılım dünyasında kartlar yeniden dağıtılıyor desek abartmış olmayız. Özellikle claude gibi gelişmiş bir llm modelinin hayatımıza girmesiyle, kod yazma süreci artık sadece klavyeye basmaktan ibaret değil. Bugün, ai destekli kodlama dünyasının parlayan yıldızı Claude’u masaya yatırıyoruz. Sadece teoride değil; doğru prompt engineering teknikleriyle Claude’u nasıl gerçek bir kodlama canavarına dönüştürebileceğimizi, kendi deneyimlerimle adım adım anlatıyorum. Sözü uzatıp “yapay zeka dünyayı ele geçirecek” klişelerine girmeden, doğrudan işin mutfağına, kod editörünün başına geçelim.

Neden Herkes Claude Konuşuyor? (Bağlam ve Context Farkı)

Piyasada bu kadar çok yapay zeka modeli varken, yazılımcılar neden ısrarla Claude (özellikle Claude 3.5 Sonnet) kullanıyor? Bunun cevabı aslında çok basit: Yazma tarzı ve geniş context window (bağlam penceresi).

Diğer modeller bazen size “akıl vermeye” çalışıp kodun yarısını keserek “buraya eski kodlarınızı ekleyin” derken, Claude genellikle çalışan, derli toplu ve bütünsel kod blokları sunuyor. Ayrıca projenizin tüm dosyalarını Claude’a yüklediğinizde, dosyalar arasındaki ilişkileri anlama yeteneği rakiplerine göre oldukça üstün. Yani sadece tek bir fonksiyon yazmıyor; projenizin mimarisini anlayıp ona göre davranıyor.

[Görsel: Claude.ai arayüzünde çoklu kod dosyalarının projeye yüklenmesi ve analiz süreci]

Kod Yazdırırken Sihirli Değnek: System Prompt Tasarımı

Claude’a doğrudan “Bana bir To-Do uygulaması yaz” derseniz, size internetten bulduğu sıradan ve jenerik bir kod verir. İstediğimiz bu değil. Biz, projenin kurallarına uyan, temiz yazılmış ve hatasız bir kod istiyoruz. Bunun sırrı ise system prompt tasarımında gizli.

Claude’u bir yazılım mimarı gibi davranmaya zorlamalıyız. API üzerinden veya Claude Projects özelliğini kullanırken aşağıdaki gibi bir sistem yönergesi kullanmak, alacağınız cevabın kalitesini katlayacaktır:

"Sen kıdemli bir yazılım mimarısın. 
Sana verdiğim görevlerde sadece çalışan kodu değil, en iyi pratikleri (clean code) de gözetmelisin.
- Kod bloklarını açıklamadan önce kısa ve net bir özet geç.
- Yorum satırlarını sadece karmaşık mantıkları açıklamak için kullan.
- Kodda asla geçici çözümler (placeholder) bırakma, tüm fonksiyonları eksiksiz yaz."

Gerçek Bir Test: Telegram Kur Takip Botu Yapıyoruz

Lafı uzatmayalım ve Claude’un yeteneklerini test edelim. Senaryomuz şu: Döviz kurlarını takip eden ve belirli bir eşik aşıldığında bize Telegram üzerinden mesaj atan basit bir Python betiği yazacağız.

Claude’a projemizi şu prompt ile verdik:

“Python ile ücretsiz bir API kullanarak USD/TRY kurunu çeken ve kur 33’ü geçtiğinde bana Telegram’dan uyarı gönderen bir script yaz. Kod modüler olsun ve hata yönetimini (try-catch) içersin.”

Claude’un Verdiği Çıktı ve Analizimiz

Claude bize yaklaşık 40 saniye içinde çalışmaya hazır bir Python kodu sundu. İşin güzel tarafı, sadece kodu vermekle kalmadı; Telegram bot token’ını nasıl alacağımızı ve çevre değişkenlerini (.env) nasıl saklayacağımızı da adım adım anlattı. Kodun kalitesini incelediğimizde gereksiz kütüphaneler yerine standart requests kütüphanesini kullandığını gördük.

Kodu çalıştırmak için terminalimizde şu adımları izledik:

# Gerekli kütüphaneleri kuruyoruz
pip install requests python-dotenv

# Scripti çalıştırıyoruz
python kur_takip.py

Sonuç: Kod ilk seferde hatasız çalıştı. Claude, API bağlantısı koptuğunda programın çökmemesi için harika bir hata yönetim mekanizması kurmuştu. İşte “neden Claude?” sorusunun cevabı burada yatıyor: Kodun çalışabilirliği ve üretim kalitesi.

Claude ile Kod Yazmanın Artıları ve Eksileri

Her güzel şeyin bir kusuru vardır. Claude harika bir yardımcı pilot olsa da direksiyonu tamamen ona bırakmak kaza yapmanıza neden olabilir. İşte yaptığımız testler sonucu ortaya çıkan tablo:

Artıları (+) Eksileri (-)
Bütünsel ve çalışmaya hazır kod üretimi Bazen çok uzun kodlarda çıktı limitine takılabiliyor
Büyük projelerde harika dosya analizi Karmaşık matematiksel algoritmalarda mantık hatası yapabiliyor
Refactoring (kodu iyileştirme) yeteneği çok yüksek API kullanım ücretleri yoğun kullanımda cep yakabilir

Cüzdanı Düşünenler İçin: Fiyatlar ve Ücretsiz Alternatifler

Claude’u kullanmanın birkaç yolu var. İlki, web arayüzü olan Claude.ai. Burada ücretsiz bir katman var ancak günlük mesaj limitiniz oldukça sınırlı. Eğer yoğun kod yazıyorsanız, aylık 20 USD olan Claude Pro üyeliğini almanız neredeyse şart.

Eğer “Ben sadece kullandığım kadar ödemek istiyorum” derseniz, Claude API anahtarı alarak bunu VS Code eklentileri (örneğin Cline veya Continue) ile birleştirebilirsiniz. API kullanımında girdi ve çıktı token’ları üzerinden ücretlendirilirsiniz, bu da genellikle yoğun olmayan kullanıcılar için aylık 20 dolardan çok daha ucuza gelir.

Peki ya tamamen ücretsiz alternatifler?

  • DeepSeek-Coder: Son zamanlarda açık kaynak dünyasının gözbebeği. Kodlama konusunda Claude’a oldukça yakın performans gösteriyor ve birçok platformda ücretsiz denenebiliyor.
  • Google Gemini (Free tier): Google AI Studio üzerinden geniş bir ücretsiz kota sunuyor. Büyük kod dosyalarını analiz etmek için devasa bağlam penceresiyle harika bir alternatif.

Son Söz: Yazılımcıların Sonu mu Geliyor?

Kesinlikle hayır. Claude ile geçirdiğim saatler bana gösterdi ki, yapay zeka harika bir tuğla taşıyıcısı ama binanın mimarı hala sizsiniz. Ne isteyeceğinizi bilmediğiniz sürece, Claude size sadece çok hızlı üretilmiş çöpler verecektir. İşin sırrı doğru yönlendirmede, yani prompt engineering yeteneğinizde bitiyor. Claude’u korkulacak bir rakip değil, kahvesini eksik etmediğiniz çok hızlı bir stajyer gibi görün; o zaman yazılım geliştirmek çok daha keyifli bir hale gelecek.

Category: Genel | LEAVE A COMMENT