1 puan yazan GN⁺ 2026-03-23 | 1 yorum | WhatsApp'ta paylaş
  • Programlama, muğlak bir spesifikasyonu adım adım hassaslaştıran yaratıcı bir eylemdir; yapay zeka ise İngilizce spesifikasyonları koda dönüştürerek bu süreci hızlandırır
  • “Vibe coding”, sezgisel bir geliştirme tarzını mümkün kılsa da, soyutlamanın sızdırmasından kaynaklanan karmaşıklık ve hata sorunlarından kaçınamaz
  • İnsanlar karmaşıklıkla başa çıkmak için soyutlama ve sıkıştırmadan yararlanır; bu da programlamanın özsel değeri olarak işlev görür
  • AGI çağında yapay zeka, daha iyi soyutlamaları destekleyerek incelikli ve sanatsal kod üretimini mümkün kılacaktır
  • “Kod öldü” algısının aksine, yapay zeka kodlamanın sonu değil, yeni bir başlangıcını açan bir araç olarak sunuluyor

Kodun ölümü abartılı bir iddia

  • İngilizce spesifikasyonların muğlaklığına ve hassasiyet sınırlarına dikkat çekilerek, programlamanın yazı yazmak gibi tekrar tekrar kesinliği artırma eylemi olduğu anlatılıyor
    • Bertrand Russell’ın sözüyle, “onu tam olarak yapmaya çalışana kadar her şey muğlaktır” noktası vurgulanıyor
    • Yapay zeka, İngilizce yazılmış spesifikasyonları çalıştırılabilir koda hızla dönüştürerek, kullanıcıların istedikleri sonucu kademeli biçimde somutlaştırmasını sağlıyor
  • “Vibe coding”, yapay zekanın ürettiği çıktılara tepki vererek sezgisel şekilde geliştirme yapma yöntemi; ancak bu, kusursuz soyutlama yanılsaması yaratabiliyor
    • Soyutlama sızdırdığında beklenmedik hatalar ortaya çıkıyor ve bu durum ölçek büyüdükçe daha da ciddi hale geliyor
    • Dan Shipper örneğinde olduğu gibi, “vibe coding” ile yapılan işbirlikçi bir metin editörünün popüler olduktan sonra karmaşıklık sorunları yüzünden çökmesi anlatılıyor
    • “Canlı işbirliği” sezgisel olarak basit görünse de, gerçekte son derece zor bir problem ve bu da karmaşıklığın doğasını gösteriyor

Soyutlama ve karmaşıklığın denetimi

  • İnsanlar aynı anda yaklaşık 7±2 öğeyi algılayabildiği için, karmaşıklıkla başa çıkmanın tek yolu “sıkıştırma”, yani soyutlamadır
    • Edsger Dijkstra’nın sözüyle, “soyutlamanın amacı muğlaklık değil, yeni bir anlam düzeyinde hassasiyettir” vurgusu yapılıyor
    • Sophie Alpert’in Slack’teki karmaşık bildirim akış şemasını sadeleştirdiği örnek veriliyor
  • Programlamanın özü, karmaşıklığı ele almak için daha iyi soyutlamalar yaratmaktır; işlevsel tepkisel programlama gibi alanlarda bunun güzelliği görülebilir
    • İşbirlikçi metin editörü gibi özünde karmaşık problemler bile ReactJS ya da TailwindCSS gibi soyutlama araçlarıyla aşama aşama fethedilebilir

AGI çağı ve kodun rolü

  • Yapay zeka giderek daha hızlı ve ucuz geliştikçe, sonunda insandan ayırt edilemeyen zekaya (AGI) ulaşılacağı öngörülüyor
    • AGI çağında herkesin, sanki “Karpathy seviyesinde 100 dahi”yi ucuza kullanıyormuş gibi güçlü zekadan yararlanabileceği düşünülüyor
    • Ancak bunun amacı “daha fazla kötü kod” üretmek değil, daha iyi soyutlamalar ve karmaşıklık anlayışı için bir araç olmak
  • Kod, yalnızca yazılım üretmenin bir aracı değil, kendi başına önemli bir sanatsal ürün ve iyi yazılmış kod şiire benzetiliyor
    • Yazıda “vibe writing” diye bir şey olmadığı gibi, kodlama da salt sezgisel bir eylemle ikame edilemez
    • AGI geldiğinde makinelerin “slop olmayan (non-slop)” kod yazabileceği ve bunun insanlık için görkemli bir ilerleme olacağı söyleniyor

Yapay zeka ve kod kalitesinin iyileşmesi

  • Bugünkü yapay zeka hâlâ kusurlu kod üretiyor, ancak geliştiriciler bunu hesaba katarak kullanıyor
    • Simon Willison’ın görüşünde olduğu gibi, yapay zeka daha iyi kod üretmek için bir araç olarak kullanılmalı
    • AGI ortaya çıktığında, ilk olarak en zor soyutlama problemlerini çözmek için devreye girecek; işbirlikçi editör kütüphaneleri gibi karmaşık sistemleri iyileştirecek
  • Opus 4.6 kullanılarak Val Town için full-stack React framework’ü (vtrr) geliştirilen örnek tanıtılıyor
    • React Router 7 ile ilgili çözülmemiş sorunları tek seferde ele aldığı ve 50 satırlık tek dosyalı bir demo ile karmaşıklığı zarifçe yönettiği belirtiliyor
    • Bu da yapay zeka ile insan işbirliğiyle incelikli kod üretiminin mümkün olduğunu gösteriyor

Kodun geleceği ve biçimciliğin değeri

  • Toplumun büyük kısmı “kod öldü” diye inansa da, bunun matbaanın icadıyla hikâyelerin sonunu ilan etmeye benzer bir hata olduğu söyleniyor
    • Yapay zeka, kodlamanın sonu değil kodlamanın yeni başlangıcı anlamına geliyor
  • Edsger Dijkstra, Tony Hoare ve Charles Babbage alıntılarıyla, biçimsel düşüncenin ve simgelerin sıkıştırma gücünün insan düşüncesini genişlettiği vurgulanıyor
    • Dijkstra, biçimsel dil kullanmanın yük değil ayrıcalık olarak görülmesi gerektiğini söylüyor
    • Hoare, “kusurları açıkça görünmeyen karmaşık tasarım” ile “kusurları açıkça bulunmayan basit tasarım” şeklindeki iki yaklaşımı karşılaştırıyor
    • Babbage, simgelerin sıkıştırılmasının düşünceyi hızlandıran bir güç olduğuna işaret ediyor
  • Sonuç olarak, kod ölmedi; aksine yapay zeka çağında daha da güçlü bir yaratıcı araç olarak yükseliyor

1 yorum

 
GN⁺ 2026-03-23
Hacker News görüşleri
  • Chris Lattner, Claude AI ile yazılmış bir derleyiciyi incelemiş ve devrim niteliğinde bir yön görmediğini söylemiş
    Yapay zeka mevcut bilgiyi ortalama biçimde yeniden birleştirme eğiliminde olduğu için eleştirel düşünme ya da yeni paradigmaları kendi başına üretemiyor
    İnsanlar mevcut uzlaşının dışına çıkabilirken, yapay zekada o uzlaşıya geri dönme yönünde bir kuvvet var
    Sonuçta yapay zeka bir uyumcu(conformist) ve bu hem onun güçlü yanı hem de zayıf yanı
    İlgili yazı

    • Benim için LLM'ler en çok birden fazla sistemi entegre ederken yardımcı oluyor
      OAuth ya da SAML gibi karmaşık kimlik doğrulama kurulumlarını dokümantasyondan tek tek çözmek için saatler harcamak yerine, LLM hızlıca çalışan entegrasyon kodu üretiyor
      Ayrıca yapay zekayı, onunla konuşarak düşüncelerimi toparladığım bir tür rubber duck debugging için de kullanıyorum
      Bu tür konuşmalar, gerçek geliştirme deneyimi olmayan birinin kolayca yürütemeyeceği kadar karmaşık olabiliyor
    • Yapay zekanın insanın yerini alıp almayacağı meselesinin ikili değil, bir spektrum meselesi olduğunu düşünüyorum
      Asıl endişe, yapay zekanın talebi azaltıp sektörde arz fazlası oluşturup oluşturmayacağı
      Yeni iş problemleri ortaya çıkmaya devam ederse yapay zeka bir araç olarak faydalı olur, ama olmazsa yapay zeka olsun ya da olmasın işler azalacaktır
    • “Yapay zeka yanıtları mevcut düşüncenin merkezine yakın yerlerden üretir” sözü Universal Approximation Theorem ile bağlantılı
      Sinir ağları özünde interpolation yapar, extrapolation değil
      Yani eğitildiği alan içinde rafinedir, onun dışında ise öngörülemezdir
      Wikipedia maddesi ve SolidGoldMagikarp örneği bunu iyi gösteriyor
    • Lattner'ın değerlendirmesinin adil olmayan bir karşılaştırma olduğunu düşünüyorum
      Claude'un amacı yenilik üretmek değil, “yapay zeka bir derleyici yapabilir mi” sorusunu göstermekti
      AlphaDev ya da AlphaEvolve gibi örneklere bakınca, keşif odaklı öğrenme ve bilgi birleştirme yoluyla yapay zekanın gerçekten yenilik üretme ihtimali de gayet yüksek görünüyor
    • Yapay zekanın alışıldık düşünce kalıplarını izlediği doğru, ama bu aynı zamanda onun gücü
      Çoğu durumda kendi kendine öğrenen, dengesiz bir varlık değil; öngörülebilir bir araç isteriz
      Yapay zeka çelişkili gereksinimleri toparlayıp tutarlı bir uygulama üretebiliyor
      Örneğin “mavi mürekkeple 7 kırmızı çizgi çiz” gibi imkansız bir isteğe bile mantıksal bir karşılık verebiliyor
      Claude'un gerçekten de “bu imkansız, dolayısıyla 0 çizgi çizmek dürüst cevap olur” demesi eleştirel düşünmeye örnek
  • “Yapay zeka yeni teknolojiler üretebilir mi?” sorusunda ben şüpheciyim
    Yapay zeka mevcut veriye dayandığı için, yeni bir dil ya da framework çıktığında eğitim verisi yetersiz kalabilir ve bu da evrim hızının yavaşlaması riskini doğurur

    • Ama yazılım dünyasında zaten araç değişim hızı yavaşlıyor
      Yapay zekayla kodlama, “tekerleği yeniden icat etme”yi azaltıp bizi NIH sendromundan uzaklaştırabilir
    • Ben yapay zeka modelleriyle yeni bir framework üzerinde çalışıyorum
      Eğitim verisi neredeyse hiç olmasa bile, dokümantasyonu okuyup kod yazabiliyor ve yeni denemeler yapabiliyor
    • Yalnızca insanların yeni şeyler üretebildiği varsayımı zayıf bir varsayım
      Bir gün yapay zekanın da yaratıcı teknolojik sentez yapabileceği ihtimaline açık olmak gerek
    • Daha büyük sorun şu: yapay zekanın öğrenmediği framework'lere yokmuş gibi davranılması
      Sonunda geliştiricilerin, yapay zeka eğitim verisine dahil olabilmek için para ödemek zorunda kaldığı bir dönem bile gelebilir
    • Bu sorunu çözmeye çalışan girişimler şimdiden var
      Örneğin skills.sh gibi platformlar, yapay zekaya yeni framework'leri öğretmek için bir skill sistemi sunuyor
      Sadece dokümantasyon ve örnek kodlarla bile yapay zeka o framework'ü hemen kullanabilir hale geliyor
  • Koda karşı çelişkili duygularım var
    İşte kod bir borç, ama aynı zamanda hobi olarak bir keyif de taşıyor
    Star Trek'teki bilgisayar gibi, “sözlü olarak iste ve o halletsin” dünyasının yaklaştığını hissediyorum

    • Ama bazıları Star Trek tarzı gelecek ile bugünün gerçeğinin tam zıt yönlere gittiğini söylüyor
  • Toplumun büyük bir kısmındaki entelektüel kaynaklar reklam teknolojilerine ya da gözetim sektörüne harcanıyor
    Yapay zeka kodlamayı devralırsa, bu durum böyle bir yetenek yeniden dağılımı için fırsat olabilir

    • Ama bu tür endüstriyel hedefler yalnızca teknolojik değişimle kolay kolay ortadan kalkmaz
  • Ağaç yapılarında tombstone olmadan taşıma·silme·sıralama yapabilen bir CRDT geliştiriyorum
    Claude Code kodu iyi yazıyor ama sürekli tombstone eklemeye çalıştığı için onu mantıksal kanıtlarla ikna etmem gerekti
    Görünüşe göre yapay zeka henüz bu kadar ince yapısal anlayışı tam olarak kazanmış değil

    • Böyle projeler için Codex kullanmam önerildi
  • Her yeni teknoloji ortaya çıktığında insanlar hep aşırı beklenti ve deney döneminden geçer
    Teknolojinin sınırlarını bu süreçten öğrenmek insanın doğasında var
    Ajan tabanlı programlama vaadi çok çekici görünüyor, ama sonunda herkes deneme yanılma yoluyla gerçeği öğrenecek

  • Ben “kod öldü” iddiasından çok, insanların soyutlama seviyesini bir kademe yükselttiğini düşünüyorum
    Artık İngilizce spesifikasyon yazıyorsunuz ve yapay zeka kodu üretiyor
    Ama tam özgüllük(specificity) gerektiğinde kod hâlâ daha kullanışlı
    Fotoğraf düzenleme gibi: ince kontrol gerektiğinde doğrudan kendiniz yapmak daha iyi, ama çoğu durumda yapay zekaya bırakmak yeterli
    Zamanla yapay zekanın istikrarlı ve güvenliği yüksek kodu insanlardan daha iyi yazacağını düşünüyorum

    • Elbette insanların hata oranı LLM'leri geçtiği anda, yapay zeka halüsinasyonlarından çok insan hataları daha büyük sorun haline gelebilir
  • Simon Willison'ın dediği gibi, vibe coding'in gerçek değeri “daha hızlı” olmakta değil, “daha iyi kod” üretmekte
    Birden fazla tasarım modeliyle prototip üretip, okunabilirlik·güvenilirlik·hata toleransı ölçütlerine göre yinelemeli iyileştirme yapılabilir

    • Ben de aynı umudu taşıyorum
      Artık kod incelemesinde “şu kısmı böyle değiştirelim” dediğinizde yapay zeka anında düzenliyor
      Ama birçok meslektaşım sadece “kodun ortadan kalktığı bir dünya”yı bekliyor
  • Kısa süre önce Donald Knuth'un yapay zekadan bir ispat istediği ve yapay zekanın daha önce bilinmeyen bir ispat bulduğu yönünde bir haber vardı
    Ama bu yeni bir keşiften çok, unutulmuş bir kaynağın bulunması olabilir
    Bu da LLM'leri güçlü bir araştırma aracı yaparken, onları sanki yaratıcıymış gibi gösterebiliyor

    • 1899'da patent ofisi başkanına atfedilen “artık icat edilecek her şey icat edildi” sözü gibi, insanın yaratıcılığı gelişmeye devam ediyor
    • Bir C derleyicisi yapmak sanıldığı kadar zor değil
      Dragon Book ile birkaç ay içinde çalışan bir şey yapılabilir ve süreç içinde bütün ilkeler anlaşılır
    • C#'ın 2000'lerin başında gösterdiği yenilikler gibi, yeni dilsel ilerlemeler bundan sonra da gelmeye devam edecek
    • Aslında C o kadar da karmaşık değil; birkaç günde bile derleyici yapılabilir
  • Programlama dillerinin insanın niyetini sıkıştırılmış biçimde ifade etme araçları olduğunu düşünüyorum
    Ama bazen doğal dil, niyeti daha doğru ve yoğun biçimde aktarmakta daha iyi olabiliyor
    İyi soyutlama bu boşluğu azaltır; DSL'ler ya da ML/Lisp ailesi diller bunun örneğidir
    Örneğin Electric Clojure tutorial gibi örneklerde, kod niyeti en iyi taşıyan şey olabilir
    Sonuçta Wittgenstein'ın dediği gibi, “belirsiz bir resim bazen tam da ihtiyaç duyduğumuz şey olabilir”

    • Buna karşılık, Dijkstra'nın şu sözünü eklemek isterim: “Soyutlamanın amacı belirsizlik değil, yeni bir anlam düzeyinde açıklıktır