26 puan yazan GN⁺ 2026-02-02 | 1 yorum | WhatsApp'ta paylaş
  • antirez, AI desteğiyle yazılım geliştirme sürecini “Automatic Programming” olarak tanımlıyor ve bunun yakında yazılım geliştirmenin standart yöntemi olacağını öngörüyor
  • Aynı LLM kullanılsa bile, insan sezgisi, tasarım ve sürekli yönlendirme sonuçları büyük ölçüde değiştirebiliyor
  • Vibe coding, fazla anlayış olmadan işi AI’a bırakma yaklaşımıyken; otomatik programlama, geliştiricinin net vizyonunu ve kontrolünü temel alıyor
  • AI tarafından üretilen kod da insanların biriktirdiği ön eğitim verileri ve yargıları temelinde oluşuyor; ortaya çıkan ürünün sahipliği geliştiriciye ait
  • Programlama giderek otomatikleşse de, fikirler ve vizyon hâlâ insanın alanı olarak kalıyor

Automatic Programming kavramının tanımı

  • AI desteğiyle yazılım yazma süreci Automatic Programming (Otomatik Programlama) olarak adlandırılıyor
  • Bu yaklaşımın yakında yazılım geliştirmenin standart süreci hâline gelmesi bekleniyor

Vibe coding ile farkı

  • Vibe Coding, sürece neredeyse hiç katılmadan AI ile yazılım üretme yöntemi
    • İstenen şey çok genel terimlerle anlatıldığında, LLM eğitim verilerine ve o çalıştırmadaki örnekleme özelliklerine göre doğal olarak aklına gelen ilk fikir/tasarım/kodu üretir
    • Vibe coder en fazla çalışmayan ya da beklentiden farklı olan kısımları bildiren kişi olur
  • Otomatik Programlama, yüksek kaliteyi hedefleyen ve üreticinin yazılım vizyonuna sıkı sıkıya bağlı kalan bir yaklaşım
    • Bu vizyon çok katmanlıdır: belirli bir işin tam olarak nasıl yapılacağından, belirli bir fonksiyonun AI’a nasıl doğrudan yazdırılacağına kadar uzanır
    • Ne yapılacağı da temel unsurlardan biridir

İnsan unsurunun önemi

  • Aynı LLM ile bile, süreci yöneten insanın sezgisi, tasarımı, sürekli yön vermesi ve yazılım fikri doğrultusunda sonuçlar büyük ölçüde farklılaşır
  • “Claude bu yazılımı vibe coding ile yaptı” ifadesi uygun değil
  • Neler olup bittiğini bilerek gerçekten yazılım üreten süreç söz konusuysa, bu sizin ürettiğiniz yazılımdır

Kod sahipliğine bakış

  • Ön eğitim verileri, LLM’in öğrendiği tek şey olmasa da (RL de büyük bir paya sahip), sonuçta insanlar tarafından üretilmiştir
    • Dolayısıyla burada başka bir şeyin mülk edinilmesi söz konusu değildir
  • AI tarafından üretilen koda “bizim” diyebiliriz ve bunu söyleme hakkına sahibiz
  • Ön eğitim, birçok kişinin tek başına asla yapamayacağı şeyleri yapabilmesini sağlayan kolektif bir armağandır
    • Bir bakıma bir kolektif zihin ile bağlı olmak gibidir
  • Otomatik programlama ile üretilen kod sizin kodunuz, sizin çıktınız, sizin üretiminizdir ve bununla gurur duyabilirsiniz

Redis örneği

  • Redis’te teknik olarak çok fazla şaşırtıcı yenilik yoktur
    • İlk aşamada, yetkin herhangi bir sistem programcısının yazabileceği temel veri yapıları ve ağ kodunun birleşiminden ibarettir
  • Buna rağmen çok faydalı bir yazılım hâline gelmesinin nedeni, içinde taşıdığı fikir ve vizyondur

Sonuç

  • Programlama artık otomatikleşti, ancak vizyon henüz otomatikleşmedi

1 yorum

 
GN⁺ 2026-02-02
Hacker News görüşleri
  • Sektörde 30 yılı aşkın deneyimim var; son dönemde özellikle spec-driven development (spesifikasyon odaklı geliştirme) yaklaşımına iyice kaptırdım
    Claude Code ve GPT-5.2 (CoPilot) kullanarak gereksinimleri üretiyor, birden çok tur self-review (öz değerlendirme) ile spesifikasyonu inceltiyorum
    Ortaya çıkan spesifikasyondan Claude Code uygulama planını ve kodu yazınca, ana işlevler 20 dakika içinde tamamlanıyor
    Bu bana geçmişte savunma sanayisinde gördüğüm waterfall yaklaşımını hatırlatıyor, ama yapay zeka sayesinde çok daha hızlı ve rafine bir “augmented cascade” yaklaşımı mümkün hale gelmiş gibi geliyor

    • Waterfall’un iyi işlemesi için uzun vadeli bakış ve spesifikasyonu yazan kişiyle geliştiren kişinin aynı olması gerekiyor
      Agile ise bu koşulların mümkün olmadığı şirketlerin hayatta kalmak için ürünü hızlıca çıkarma ihtiyacına verdiği bir yanıttı
    • Ben de programlamanın geleceğinin spesifikasyon merkezli olacağını düşünüyorum
      Örnek alınabilecek herkese açık iyi spesifikasyon örnekleri var mı merak ediyorum. Önceki kuşağın John Carmack’in Quake koduna hayranlık duyması gibi, sonraki kuşak da harika spesifikasyonları yüceltecek gibi geliyor
    • Ne kadar ayrıntılı olursa olsun, hiçbir spesifikasyonun gerçek dünyayla çarpışmaktan tamamen kaçınması zor
      İnsanlar tüm karmaşıklığı ve istisna durumlarını önceden öngöremez. Bir şeyi gerçekten yapınca mutlaka “bunu düşünmemişiz” denilen noktalar çıkıyor
    • Agile, gereksinimlerin değiştiği ortamlarda kademeli olarak doğru yönü bulma yöntemidir
      Gereksinimler zaten netse buna pek gerek yoktur
    • Bu yaklaşım sonuçta Design by Contract kavramının modern bir türevi gibi görünüyor
      Farkı, alt ekipler yerine LLM kullanılması
      İlgili kaynaklar: Design by Contract (Goodreads), orijinal PDF
  • “Pre-training insanlığın kolektif hediyesidir” ifadesine katılmıyorum
    Çalınmış bir şeyse hediye değildir
    LLM’in ürettiği kodu ben sahiplenip yönetiyorsam, onu kendi kodum sayarım
    Sorun, yazanın sorumluluktan kaçmasıyla başlıyor

    • “Çalınmış hediye” ifadesi bana içgüdüsel olarak itici geldi
    • Bilgi çalınabilecek bir şey değildir. Matematiğin çalındığını söylemediğimiz gibi, bilginin paylaşımı insanlığın ilerlemesinin özüdür diye düşünüyorum
  • Claude Code ve Opus 4.5 kullanırken ben de benzer bir sonuca vardım
    Ben buna “zen coding” diyorum. Kod tabanına bir Zen bahçesi gibi davranıp, spesifikasyonu ince ince tasarlıyor ve satır satır gözden geçiriyorum
    Yapay zeka tasarımcı değil, araç olarak çalışmalı
    Elinde net bir spesifikasyon olan kişi, yapay zekadan çok daha yüksek kaliteli kod alabiliyor
    Vibe coding sezgisel deneyciliktir, Zen coding ise bir ustalık disiplini

  • “Claude verdi” gibi ifadeler duyunca bunun hâlâ taslak hissi veren bir kod olacağını düşünüyorum
    Aracı suçlamaya ya da özür dilemeye gerek yok; ürünü daha iyi hale getirmek yeterli

    • Sorun şu ki artık mimariyi ya da kod kalitesini çok da dert etmeden bile epey ileri gidilebiliyor
    • Bu yüzden beklentiyi yükseltmek ve otomasyonla vibe-coded uygulamaların kalitesini artırmak gerekiyor
  • “Pre-training insanlığın hediyesidir” ifadesi rahatsız edici geliyor
    Birçok açık kaynak geliştiricisi kodunun LLM eğitiminde kullanılmasını istemiyordu
    LLM’in ürettiği bazı kodlar, gördüğüm kitap veya blog kodlarını neredeyse aynen kopyalamıştı
    En azından kaynağı belirtmek etik olarak gerekli bence

    • Tüm geliştirme işleri öncekilerin omuzlarında yükselir. Tam anlamıyla bağımsız bir yaratım yoktur
    • Açık kaynak lisansları ile public domain hukuken aynı şey değildir
      Eğer GPL koduyla LLM eğitildiyse, ortaya çıkan çıktının da GPL olarak yayımlanması gerektiği yorumu yapılabilir
    • Tarih boyunca eserlerin yaratıcının isteğine rağmen kullanıldığı çok örnek var
      Örneğin Kafka, el yazmalarının yakılmasını istemişti ama bugün onlar edebiyat klasiği sayılıyor
    • “Quicksort uygularken Hoare’a kredi veriyor musun?” diye soranlar da var
    • Fikri mülkiyet de mutlak değildir; gerekirse toplumsal olarak kamulaştırılabilir (expropriation)
  • 1950–60’lardaki “automatic programming” aslında derleyicileri ifade ediyordu
    1980’lerin 4GL yaklaşımı, alan odaklı yüksek seviyeli dillerdi; bugünün LLM’leri ise doğal dilde yazılmış spesifikasyonlardan taslak üretme aşamasında
    Sonuçta insanlar hâlâ iteratif düzeltmeler ve tasarım değişiklikleri ile kaliteyi yükseltmek zorunda

  • Belki de şu an artisanal coder denilen usta geliştiricilerin son kuşağını izliyoruz
    Antirez gibi ustalar, insan sınırlarını aşan kavramlarla uğraşıp Redis gibi sade ama zarif yazılımlar üretiyor
    Yapay zeka insanların yapamayacağı hızda kod üretiyor ama bu, fırça ve tuvalin yerini tutmuyor
    Yeni kuşak tamamen farklı türde zanaatkârlar olacak
    Ben de korkuyorum ama bu yeni araçları kabul ederek yeni bir zanaat çağını deniyorum

    • Satrançta da insanlar artık bilgisayarı yenemiyor ama oyun hâlâ çok popüler
    • Antirez artık daha çok bir AI influencer gibi, ama kod yazmak yine de keyifli bir uğraş
    • LLM kod konusunda yardımcı olsa da, temel kavramlar ve yapısal anlayış hâlâ şart
      Sadece buna ek olarak yapay zekayı iyi kullanma becerisi gerekiyor; mevcut bilgi gereksiz hale gelmiyor
  • Antirez’in yazısında “vibe coding ile automatic programming arasındaki farkı” net biçimde ayırması etkileyiciydi
    Bu, mimarların çizimleri elle yaptığı dönemden BIM ve CAD dönemine geçişe benziyor
    Yapay zeka çağındaki geliştirici daha az kod yazmıyor; sadece değerin odak noktası değişiyor

  • “vibe coding vs automatic coding” bir ikilik değil, bir spektrumdur
    Aynı proje içinde bile farklı aşamalarda bu yaklaşımlar karıştırılabilir

    • LLM çıktısı kullanıcının teknik seviyesi ve niyetine göre değiştiği için, sonuç nihayetinde kullanıcıya aittir
      Asıl önemli olan, aracı eleştirel biçimde kullanmak ve sürekli iyileştirmektir
    • Yapay zeka farklı biçimlerde çalınabilen bir enstrüman gibidir
      Bazıları buna “spec strumming” diyor