22 puan yazan GN⁺ 2025-04-23 | 3 yorum | WhatsApp'ta paylaş
  • LLM araçları, programcıların yerini alan varlıklar değil; geliştiricinin yeteneklerini artıran araçlar olarak işlev görüyor
  • Claude Code kullanım deneyimi, kodlama hızını çarpıcı biçimde artırsa da, insanın mimari yargısı ve sürekli gözetiminin hâlâ vazgeçilmez olduğunu gösteriyor
  • LLM’lerin devreye girmesiyle, gerçek kodlamadan çok problemi tanımlama ve tasarım daha önemli bir görev hâline geliyor
  • Yapay zeka hataları da büyüttüğü için, deneyimsiz geliştiriciler AI’ın hatalarını fark edememe riski taşıyor
  • Geleceğin programcılığında AI ile iş birliği yapabilme, muhakeme gücü ve silme konusunda kararlı olma temel yetkinlikler olacak

LLM programlama, insanın yerini almak değil onu güçlendirmek içindir

  • LLM tabanlı programlama araçları, geliştiricinin yeteneklerini artıran bir mecha suit gibidir
  • Yazar yakın zamanda Claude Code kullanarak bir backend ajan platformu ve frontend SaaS uygulaması geliştirdi
  • Toplam 30 binden fazla satır kod yazarak LLM’lerin gerçek etkisini deneyimledi
  • Claude Code, kullanıcıyı ikame eden bir şey değil; Ripley’nin power loader’ı gibi geliştiricinin yeteneklerini artıran bir araçtır
  • Mimari kararlar, kalite kontrolü ve yön tayini gibi konularda son sözü hâlâ insan söyler
  • AI hız ve tekrar eden işlerde avantaj sağlasa da, yön yanlış belirlenirse sonuçlar yıkıcı olabilir

Vigilance: AI ile kodlama, sürekli dikkat gerektirir

  • Claude Code bazen garip kararlar verebiliyor; testleri geçirmek için kök sorunu görmezden geliyor ya da hardcode kullanıyor
  • Framework’ü zorlayarak değiştirme veya gereksiz bağımlılık ekleme gibi durumlar da yaşanabiliyor
  • Bir pilotta olduğu gibi, kritik anlarda insan müdahalesi mutlaka gerekiyor
  • Gözün kısa süreliğine başka yere kaydığı bir anda AI yanlış yöne sapınca, backend kodunu tam üç kez baştan yazmak gerekti
  • LLM’ler kodlama yükünü azaltıyor ama denetim ve mimariyi koruma yükünü artırıyor

Kodlama zamanının ekonomisi değişiyor

  • Programlama zamanı geleneksel olarak neden (hedef), ne (tasarım), nasıl (kodlama) olmak üzere üç alana ayrılır
  • Claude Code’un devreye girmesiyle "nasıl" için harcanan süre neredeyse sıfıra indi
  • Buna karşılık "neden" ve "ne" üzerine düşünmek daha da önemli hâle geldi
  • Kod üretmek kolaylaştığı için artık mevcut kodu cesurca çöpe atıp daha iyi bir yaklaşımı seçme cesareti gerekiyor
  • Bu kararlılık birçok geliştirici için hâlâ alışıldık değil; uygulama süresinden çok tasarımsal muhakemenin önemli olduğu bir döneme girildi

Farkı yaratan şey deneyim

  • AI’dan etkili biçimde yararlanmak için 30 yıllık kariyerin getirdiği içgörü ve muhakeme gerekiyor
  • Kod çalışsa bile ölçeklenmeye veya bakıma uygun olmayan anti-pattern’leri fark edebilme yeteneği önem taşıyor
  • Deneyimsiz geliştiriciler AI’ın ürettiği kodun sorunlarını gözden kaçırmaya daha yatkın ve yalnızca anlık etkiye razı olma riski taşıyor
  • AI’ın büyüttüğü şey yalnızca yetenek değil, hatalar da olduğu için; muhakeme eksikse risk de büyüyor

Centaur etkisi: insan ile AI’ın iş birliği

  • Satrançtan gelen centaur chess örneğinde olduğu gibi, AI ile insanın birleşimi AI’ın tek başına olduğundan daha iyi sonuçlar üretiyor
  • Claude Code ile iş birliği de benzer biçimde işliyor; insan stratejik yönü veriyor, AI ise taktik işleri üstleniyor
  • En etkili yöntem, özellik tanımını düşünce akışına göre yazıp ardından Claude ile birlikte rafine etmek oldu
  • Claude bağlama uygun muhakeme yapamadığı için, her zaman insan gözetimi ve kararı gerekiyor

Denge kurmak: delege etme ile kontrolü ayarlamak

  • AI kendi hâline bırakıldığında, sorunları gereğinden fazla karmaşık çözmeye çalışma eğilimi sık görülüyor
  • Örneğin yinelenen kod yazma, yanlış teknoloji seçimi gibi AI kaynaklı arızalar gerçekten sorun yaratabiliyor
  • Frontend tarafında da JavaScript’in alışılmadık implementasyonlarını Elixir veya LiveView yaklaşımına göre düzeltmeye yönlendirmek zorunda kalınan durumlar tekrar tekrar yaşandı
  • Basit ve tekrarlı işler delege edilmeli; karmaşık muhakeme gerektiren bölümlerde ise doğrudan devreye girilen bir iş birliği ritmi kurulmalı
  • AI sayesinde hızlı geliştirme mümkün oldu ama insan müdahalesi olmadan düzgün çalışmazdı

Gelecek, güçlendirmede yatıyor

  • LLM’ler programcıların yerini tamamen almayacak, ancak çalışma biçimini ve gereken yetkinlikleri büyük ölçüde değiştirecek
  • Basit kodlama becerisinden çok yapısal düşünme, pattern tanıma ve teknik muhakeme önem kazanıyor
  • AI ile birlikte çalışabilme becerisi başlı başına yeni bir teknik yetkinlik olarak öne çıkıyor
  • Geleceğin başarılı geliştiricisi, AI’dan korkmayan; onun sınırlarını ve imkânlarını anlayıp yönetebilen kişi olacak
  • AI, insanı ortadan kaldırmaya çalışan bir şey değil; insanın potansiyelini genişletmeye yarayan bir araçtır

3 yorum

 
bus710 2025-04-23

Ben Amuro da değilim, bana bir Gundam da verilmedi ama....?

 
jsh5782 2025-04-23

Mobil suitlerin performans farkının, savaş gücünde belirleyici bir fark olmadığı gerçeğini...

 
GN⁺ 2025-04-23
Hacker News görüşleri

Kodlamadan daha önemli olan şey, problemi anlamak ve tasarım

  • Geleneksel olarak kodlama üç zaman dilimine ayrılır
    • Bu işi neden yapıyoruz? İş problemini ve değerini anlamak
    • Ne yapılmalı? Çözümü kavramsal olarak tasarlamak
    • Nasıl yapılacak? Gerçekte kodu yazmak
  • Son aşama geçmişte çok zaman alıyordu, ancak artık Claude sayesinde neredeyse hiç zaman gerektirmiyor
    • Son aşamaya çok zaman harcıyorsanız, bu ilk iki aşamanın yanlış olduğu ya da araca alışık olmadığınız anlamına gelebilir
    • Elle kod düzenleme zahmetlidir, ancak birçok dilde IDE ve indeksleyiciler aracılığıyla otomatikleştirilmiştir
    • Programlama projelerinde problemi anlamaya daha fazla zaman harcadım
  • Yani, problemi anlama ve tasarım daha fazla zaman alır
    • Kodlama en kolay aşama içinde yer alır
    • Uzun sürüyorsa bunun nedeni araca hakim olmamak ya da yetersiz tasarım olabilir
  • Veri yapısı tasarımı kritik önemdedir
    • Yapı iyi kurulursa kodlama yalnızca basit bir uygulamadan ibarettir
    • Bu konuda insanlar LLM'lerden daha üstündür

LLM'lerin sınırları ve dikkat edilmesi gerekenler

  • LLM'ler sık sık yanlış kararlar verir
    • Örn: gereksiz bağımlılık ekleme, güvensiz kod üretme
    • Bir insanın mutlaka gözden geçirip düzeltmesi gerekir
  • Güvenlik sorunlarını kendi başına fark edemez
    • Örn: injection, hatalı yetki ayarları
  • Büyük kod tabanlarında performans düşer
    • Bağlam penceresi sınırlamaları nedeniyle genel yapıyı anlamakta başarısız olur

LLM'lerin sağladığı üretkenlik artışı

  • Tekrarlı ve basit işlerde çok etkilidir
    • boilerplate, test kodu vb. işlerde zaman kazandırır
  • Planlama aşamasında kullanımı daha verimlidir
    • system design taslakları, özellikleri parçalara ayırma gibi konularda faydalıdır
  • Aşina olunmayan dil veya framework'leri öğrenmede çok başarılıdır
    • Mevcut dokümantasyondan daha hızlı şekilde temel akışı kavramayı sağlar

Deneyim ve teknik muhakemenin önemi

  • LLM'leri iyi kullanmak için deneyim daha da önemli hale gelir
    • Problemi yapısal olarak değerlendirme ve filtreleme becerisi gerekir
  • LLM kod üretse bile inceleme ve refactoring insanın sorumluluğundadır
    • "Çalışıyor" olması ile "doğru" olması aynı şey değildir

LLM, geliştiricinin yerini alan değil, yardımcı olan bir araçtır

  • LLM, junior geliştirici rolüne daha yakındır
    • Net bir yönlendirme olmadan alakasız sonuçlar üretir
  • İnsan + LLM kombinasyonu, tek başına LLM'den daha üstündür
    • Strateji insandan, tekrarlı işler yapay zekadan gelir

LLM'nin nasıl kullanıldığına göre sonuç değişir

  • Yalnızca otomatik kod üretimine güvenmek tersine yavaşlatabilir
    • Özellikle aşina olunan dillerde insan daha hızlıdır
  • Otomatik tamamlama tabanlı arayüzler (Copilot vb.) en doğal yaklaşımdır
    • Akışı bozmadan yardım almayı kolaylaştırır

LLM nedeniyle iş tanımındaki değişim ve endişeler

  • Kod yazmaktan çok tasarım ve inceleme, geliştiricinin temel rolüne dönüşüyor
  • Yalnızca LLM'ye dayanmak öğrenme ve gelişim fırsatlarını kaybettirebilir
    • Teknik derinlik kazanamadan pasif bir kullanıcıya dönüşme riski vardır

LLM'lerin geleceği ve toplumsal etkisi

  • Herkesin yapay zeka kullanabildiği bir ortamda farkı insan yaratır
    • Muhakeme, iletişim becerisi rekabet gücünü belirler
  • LLM'ler "otomobil gibi bir araçtır"
    • Güçlüdür, ancak bağımlılığı artırır ve sorun çıktığında müdahale etmeyi zorlaştırır