2 puan yazan GN⁺ 2025-09-14 | 1 yorum | WhatsApp'ta paylaş
  • Programlama için yapay zeka, mevcut derleyicilere benzer bir rol yapısına sahip
  • İngilizce promptlar, bir programlama dili olarak belirsiz ve verimsiz özellikler taşır
  • Yapay zekanın verimlilik artışı etkisi gerçekte abartılma ya da yanlış algılanma eğilimindedir
  • Yapay zeka araçları geliştirme sürecini değiştirir, ancak gerçek yenilik daha iyi diller ve araçlardan doğabilir
  • LLM benimsenmesi geliştiricilerin yerini alacağı anlamına gelmez; aksine mevcut geliştirme ortamının sınırlarını yansıtır

Yapay zeka ile derleyicilerin benzerliği

  • Yazar, yaş aldıkça artık başkalarını ikna etmeye çalışma çabasından vazgeçtiğini söylüyor
  • Birçok insanın gerçekle ilgilenmediğini, yalnızca kendilerine fayda sağlayan inançları takip ettiğini vurguluyor
  • "Perception is reality" diyenlere yönelik bir eleştiri sunuyor
  • Otonom araçlara yatırılan milyarlarca doların yanlış inançlar nedeniyle israf edildiğine dikkat çekiyor
  • Yapay zekanın kod yazabildiğine inanmanın, derleyicinin kod yazdığını düşünmeye benzer bir bakış açısı olduğunu savunuyor

Yapay zeka ile kodlama, derleyiciye benzer bir modeldir

  • Programlama yapay zekası için en uygun modelin derleyici olduğu görüşünü açıklıyor
  • Kullanıcı promptu (kodu) girer ve bunun sonucunda derlenmiş çıktıyı alır
  • Fark, promptun İngilizce girilmesidir; ancak İngilizce netlik eksikliği ve spesifikasyon yokluğu gibi birçok dezavantaja sahiptir
  • Yeni ya da karmaşık işler yapılırken sonunda promptun ayrıntı düzeyi artar
  • Yapay zekanın çıktısı deterministik değildir ve promptun bir bölümündeki değişiklik tüm sonucu etkileyebilir

Yapay zeka ile kodlamaya eleştirel bakış

  • Yapay zeka ile kodlamanın olumlu görünmesinin nedeni, mevcut araçların, dillerin ve kütüphanelerin yetersizliğidir
  • "AI" teknolojisi sayesinde eskisinden daha iyi arama, optimizasyon ve örüntü çıkarımı araçları mümkün hale gelmiştir
  • Gerçekte kodlamayı yapan programcının kendisidir; değişen yalnızca kod yazma eyleminde kullanılan dildir
  • Eğer bir şirket LLM ile geliştiricileri değiştirebiliyorsa, bu şirketin kod tabanının ve işe alım ölçütlerinin çok düşük seviyede olduğu anlamına gelir
  • Yapay zeka, derleyici ya da elektronik tablo gibi zaman içinde bazı işleri kademeli olarak devralabilir

Yapay zeka bir araçtır; nihayetinde daha iyi dil ve kütüphaneler gerekir

  • Yapay zekaya araç odaklı bir bakışla çok daha fazla düşünce ve dikkat gösterilmesi gerektiğini vurguluyor
  • Yanlış beklentilere ya da hayallere yatırım yapıldığı için milyarlarca dolarlık israf yaşandığını belirtiyor
  • “vibe coding” gibi sahte verimlilik araçlarına piyasanın aşırı tepki verdiğine değiniyor
  • Yapay zekanın üretkenliği gerçekten %20 artırdığına dair bir yanılgı olduğunu, ancak gerçekte %19 yavaşlattığını gösteren bir araştırma sonucuna atıf yapıyor
  • Gerçek ilerlemenin programlama dilleri, derleyiciler ve kütüphane inovasyonundan gelebileceğini söylüyor

1 yorum

 
GN⁺ 2025-09-14
Hacker News görüşleri
  • Neredeyse 50 yaşındayım ve 90'ların sonlarından beri profesyonel olarak kod yazıyorum. Kafamda projeler hemen şekilleniyor ve ne yapmam gerektiğini tam olarak biliyorum. Maaşım da epey iyi. Dışarıdan bakınca tipik bir yapay zeka karşıtı gibi görünebilirim ama aslında öyle değilim. Her şeyi yapabilirim ama her tür temel işten sıkıldığım çok oluyor. Bu yüzden yapay zekayı kullanarak sıkıcı kısımları hızla geçip sevdiğim asıl işe odaklanabilmek gerçekten hoşuma gidiyor. Yapay zeka ile geliştirme, junior ile mid-level arasında bir geliştiriciye birkaç cümleyle düşünceni anlatıp bir saatlik iş yaptırmaya benziyor. Yalnız, gerçek junior'ların gelişememesi ve gelecekteki senior geliştirici havuzunun küçülmesi ciddi ciddi düşünülmesi gereken bir konu, ama bu ayrı bir mesele

    • Yapay zekayı sıkıcı kısımları hızlıca halletmek için kullandığımı söyledim ama deneyimli senior geliştiriciler arasında tam tersine zorlu kısımlardan çekindiği için yapay zekaya olumsuz yaklaşanlar da var. Pek çok geliştirici sıkıcı ve kolay bölümlerde psikolojik güvenlik buluyor; yapay zeka devreye girince işin kendisi sürekli zorluklardan oluşan bir şeye dönüşebiliyor. Uzun deneyimi olup becerisi yetersiz bir senior, art arda zorlayıcı işlerle karşılaşırsa çabucak tükenir. Şirketler yapay zekayı getirip sadece hızı artırmaya çalışıyor ama insanların bilişsel dinlenmeye ihtiyaç duyduğunu gözden kaçırıyorlar. Sadece çok zor işler bırakmak insanlar için iyi değil. Elbette tekrarlı ve kolay işlerden sıkılan geliştiriciler yapay zeka ile yeniden canlanabilir. Sonuçta herkese göre farklı yaklaşmak gerekiyor

    • Ben de senden biraz daha gencim ama düşüncelerim neredeyse tamamen aynı. Hatta daha da ileri olabilir. İlginç fikirleri gerçekleştiren kodu yazmaktan ziyade, fikir üretmenin ve deneme yapmanın kendisinin eğlenceli olduğunu hissediyorum. Bu yüzden kodlama, yapmam gerektiği için yaptığım bir şeydi; özünde yapmak istediğim iş değildi. Fikirlerimi hayata geçirmek istiyorsam mecburen kod yazıyordum. Yapay zeka bir beyin fırtınası ortağı olarak mükemmel. Yağ çekmemesini istediğinde, overengineering yaptığımda bunu gerçekten dürüstçe söylüyor. Debugging konusunda da çok iyi. Bu yüzden bilgisayara konuşur gibi mimariyi ve yöntemi tartışıyor, spec hazırlıyor ve sonra implementasyonu yapay zekaya bırakıyorum. Eğer düşüncem yanlışsa, yapay zeka ile çok hızlı yineleyerek düzeltiyorum. İterasyon o kadar hızlı ki hata yapmak sorun olmuyor. Eskiden yanlış bir tasarımla yaşayıp gidiyordum çünkü tüm kodu değiştirmek gerekiyordu ama Agentic coding araçları sayesinde tüm codebase'i değiştirmek de sorun olmuyor. Yeni teknik alanlarda uzman olmasam da yapay zeka sayesinde etkili biçimde girip hızla yetkinlik kazandım. Dürüst olmak gerekirse programcı hayatımda şu an en mutlu dönemimdeyim. Araçlar her hafta, bazen haftada birkaç kez daha iyi hale geliyor

    • Bu benim deneyimimle de tamamen örtüşüyor. Benim de kıdemim benzer. Yapay zekayı hem kişisel işlerimde hem şirket işlerinde aktif biçimde kullanıyorum. Birincisi, yapay zeka daha az önyargılı bir fikir danışmanı gibi davranıyor. Hızlı geri bildirim döngüsü ve yön doğrulaması gerçekten vazgeçilmez geliyor. İkincisi, yazma işini ve zamanı azaltıyor. “Temel işler”i tek seferde veriyorum ve en az %80'ini kusursuz biçimde hallediyor. %100 tamamlanmış olmuyor ama kazandığım zaman çok daha büyük olduğu için net olarak kârlıyım. Yapay zekayı kullanırken hep guardrail koyuyor, talimatları olabildiğince somut ve ayrıntılı veriyor, çıkan işi de her zaman bizzat gözden geçiriyorum

    • Yaklaşık 10 yıl daha az deneyimim var ama benzer bir konumdayım. Ama ben çok da katılamıyorum. Bir bölüm sıkıcı olmaya başlar başlamaz onu otomatikleştirmek ve genelleştirmek zaten o kadar zor ve meydan okuyucu oluyor ki, fiilen sıkıcı iş neredeyse hiç kalmıyor. Hatta çoğu zaman kendim yazmam daha hızlı. Orta seviye olmayan, basit olmayan kısımlarda kodu doğrudan yazarken daha iyi yapı ya da otomasyon fikirleri aklıma geliyor. Bu yüzden başkasına devretmek isteyeceğim kod neredeyse yok. Ve sanırım böyle düşünebilmemin nedeni uzun süredir aynı şirkette olmam. Sürekli yeni kod işleri yapmak zorunda olsaydım muhtemelen farklı düşünürdüm

    • Ben de 50'lerimdeyim ve 90'lardan beri kod yazıyorum; hayatım boyunca üç kereden fazla yetecek kadar para da kazandım. 30 yıllık kariyerim boyunca en iyi geliştiricilerde ortak bir özellik gördüm: “kusursuz tembellik”. Kulağa garip gelebilir ama olağanüstü mühendislerin ortak özelliği sadece tembellikti. Tembelliğin nasıl üretkenliğe dönüştüğüne şaşarsın. Sebebi, tekrar eden işi mutlaka otomatikleştirmeleri. Aynı şeyi iki kez yaptıysan üçüncüde otomasyon şart olmalı diye bir kural öğrendim. Yapay zekanın gelişiyle otomasyonun seviyesi tamamen değişti. Eskiden yapılamayan her şeyi bile otomatikleştirebilir hale geldik. Yapay zekayı kullanmanın sayısız yolunu bulduk; sadece ben değil, tembel iş arkadaşlarım da bunu inanılmaz iyi kullanıyor. Artık yapay zeka olmadan çalışmayı hayal bile edemiyorum. Sebebi “sihir” olması değil; benim gibi tembel biri için otomatikleştirilebilecek her işi yapay zekanın üstlenmesi

  • Bunun Hacker News'te sık görülen yapay zeka grup düşüncesinin uç bir örneği olduğunu düşünüyorum. Geohot geliştiricilerin üst %99.999'luk diliminde olabilir ama onun anlamadığı %99.999'luk diğer geliştiriciler hâlâ daha temel işler yapıyor. Bu bir uzman paradoksu. Herkes uzman düzeyinde olsaydı zaten uzman olmazlardı. Yapay zeka gibi davranan çok geliştirici gördüm. Kendi yazdıkları codebase'i bile açıklayamıyor, tutarlı biçimde sürdüremiyorlar. Bu, sanki bir havacılık mühendisi, Kinder Surprise oyuncağı yapan biriyle akışkanlar simülasyonunu bilmediği için alay ediyormuş gibi

    • HN'in yapay zekaya karşı olmasına şaşırdım. Bana göre yorumlara ve popüler gönderilere bakınca HN genel olarak teknoloji konusunda oldukça iyimser görünüyor

    • Otonom sürüş şirketi kurmuş birinin bu tutumu sergilemesi de epey tutarsız görünüyor. Yapay zeka modelleri kod yazamıyorsa, sürüş gibi çok daha zor bir işi nasıl ikame edecekleri şüpheli

    • Yazının başında bunun açıklaması zaten var. Çeşitli genel programlama iş akışları çok yaygın olduğu için mümkün oluyor; yeni bir şey yapmak istiyorsan bunu neredeyse dil seviyesinde ayrıntıyla açıklaman gerekiyor, denmek istenen bu

    • Havacılık sektöründe çalışıyorum ve buradaki mühendisler de pek daha iyi değil. Ama fazla endişelenmeye gerek yok. Şirketlerde bu tip insanlar kimseye zarar vermeyecekleri pozisyonlara kaydırılıyor ve çoğu yönetici oluyor

    • Geohot'un gerçekten en üst %99.999'luk geliştirici olup olmadığından emin değilim. "Programlama yapay zekası için en iyi model derleyicidir. Prompt'u (=kod) verirsin, derlenmiş kodu çıkarır. Çoğu IDE gibi geri bildirim alıp interaktif kullanmaktan ziyade, prompt ayarı → yeniden derleme daha iyidir." Bunun gerçekten doğru olup olmadığından emin değilim

  • Tartışmanın kilit noktalarından biri, “programlamanın türleri”ni biraz daha somut tanımlamamız gerektiği. Bir robotun bir şey üretmesinde “robot iyi mi, kötü mü?” diye sormak nasıl anlamsızsa, “neyi hedef alarak?” sorusu olmadan bu tartışma ilerlemez

  • Bu yazıyla ilgili çeşitli sorunlar görüyorum. Birincisi, “AI coding bir derleyicidir” iddiası. Derleyici, spesifikasyona göre bir dili deterministik olarak dönüştürür; LLM tabanlı kodlama araçları ise kısıtlar (test/type/linter/CI vb.) altında kodu yinelemeli biçimde arayan, üreten ve düzelten program sentezleyicileridir. Nitekim SWE-bench Verified gibi büyük açık kaynak issue'larını da end-to-end çözebiliyorlar. İkincisi, “programlama dili İngilizcedir” iddiası. Gerçekte ortada kod, test, spec, API, JSON schema, diff, IDE araçları gibi bir bileşim var; İngilizce sadece yapıştırıcı görevi görüyor. Yazar en zayıf arayüzü seçip ona saldırıyor. Üçüncüsü, nondeterminism'in sorun olduğu iddiası. Oysa pratikte fuzzing, SAT/SMT vb. şeylerde zaten çok sayıda olasılıksal unsur var ama nihai determinizm ve doğruluk dış spesifikasyonlardan (testler, type system, CI vb.) geliyor. Ayrıca LLM'lerin popüler olmasının sebebinin dillerin ya da kütüphanelerin kötü olması olduğu düşüncesi yanlış bir ikilem. Örneğin Rust veya TypeScript gibi diller iyileşse de LLM'ler API arama, repo izleme, tekrar eden kod yazma, migration, test yazımı, refactor gibi konularda hâlâ yardımcı oluyor. Son olarak sadece "daha iyi diller ya da derleyiciler yapın" alternatifini sunuyor ama modern ekipler zaten yapay zekayla birlikte kullanımdan büyük değer elde ediyor. Bu yüzden AI coding ve LLM'leri "prompt ile yönlendirilen sihirli bir İngilizce derleyici" olarak görmek yerine, kendi kısıtlarıma (type, test, CI vb.) göre yardımcı olan bir "junior pair programmer" gibi kullanmak çok daha gerçekçi

    • (yazarın kendisi) Bu görüşe katılıyorum. Blog yazısını böyle yazsaydım muhtemelen bu kadar popüler olmazdı. “LLM kodlama araçları arama tabanlı program sentezleyicileridir” açıklaması bence de neredeyse derleyici tanımına yakın. Yalnız çoğu derleyicinin yeterince arama yapmayıp çok fazla heuristic'e dayanmasının nedeni sadece runtime entegrasyonunun olmaması diye düşünüyorum. “Mühendislik araçlarında çok sayıda nondeterministik unsur var” denmesi doğru ama örneğin SAT solver'da rastgelelik çözüm süresini etkiler, cevabın doğruluğunu değil. Fuzzer ise test amaçlıdır; doğası gereği kusursuzluk beklenmez. Production'a alınmış bir fuzzer görmedim. “Determinizm dış testlerden ya da spec'ten gelir” görüşüne tamamen katılıyorum. Benim hayalim, uygulama yöntemini değil yalnızca davranışı spec ile tanımladığın bir dil. Halide'daki schedule kavramının daha genelleştirilmiş hâli gibi. Bilgisayar uygulama yöntemini kendi bulur. Yapay zekanın böyle araçlar sunabileceğini düşünüyorum. Bunun ille de LLM olması gerekmez ve sıkı spec şarttır. Sonuçta bu da programlamanın kendisi. Bu bakış açısından yapay zekayı "sihirli İngilizce derleyici" olarak görmeye karşıyım. Aracın güçlü ve zayıf yanlarını bilerek iş destek aracı olarak kullanmak gerçekten çok iyi bir iş akışı

    • Harika bir yanıt. Tamamen katılıyorum

    • Böyle sorunlu bir yazıyı onun yazmış olmasına şaşmamalı. Sonuçta yazan kişi George Hotz, yani Geohot

  • Ben hem Openpilot'u hem de claude code'u sık kullanıyorum. İki aracı neredeyse aynı düzlemde görüyorum. Openpilot otoyol gibi basit durumlarda saatler boyunca gerçekten iyi sürüyor. claude code ise sezgisel refactor, boilerplate, scaffolding, git bisect gibi tekrarlı işleri benden girdi almadan yapabiliyor. İkisi de sonuçta “sürücü”nün yerini almıyor. claude code, programlamanın seviye 2 otonom sürüşü gibi

  • METR araştırması başlığı sayesinde müthiş popüler oldu. Ama gerçekten baştan sona okuyan az kişi vardır; çünkü oldukça uzundu. Verilerde ise Cursor veya yapay zeka kullanım deneyimi en yüksek olan tek bir kişide %50 hız artışı görülüyor. Bu da ancak alıştıktan sonra kazancın belirginleştiğini ima ediyor. Ayrıca küçük örneklemde istatistiksel oynaklık da yüksek. Sonradan başka bir kişinin hız farkının yanlış kaydedildiği düzeltilmiş olsa da, sonuçların anlamı konusunda hâlâ soru işaretleri bırakıyor. Araştırmanın ölçtüğü verimsizlik unsurları, daha gelişmiş LLM'ler, paralel ajanlar gibi araçlarla gayet giderilebilir şeyler. Araştırma yapıldığında kullanılan araçlar daha eski Claude 3.7 dönemi araçlarıydı, Claude Code öncesi dönem. Gerçekte %20 daha az çalışmış gibi hissettiren “öznel deneyim” bile başlı başına değerli. İnsan keyifle çalışınca zaman çabuk geçiyor

  • Sorun biraz da AI lab'lerinin bugüne kadar yapay zekayı fazlasıyla abartarak satmış olması. “AI gerçekten düşünüyor, sadece pattern matching yapmıyor” söylemi çok yaygın. Ben hem yapay zeka aracı geliştirip hem kullanan biri olarak, buna pattern matching tabanlı bir “next token predictor” gibi yaklaşmanın çok daha faydalı olduğunu düşünüyorum. Bağlama gereksiz fazla bilgi koyunca yapay zeka genelleştirmede sık sık başarısız oluyor. Bu da aslında pattern matching ve next token prediction ile birebir uyumlu. “AI teknolojisinin bugün çok iyi araçlara katkı sağlayabileceğini” düşünüyorum ama bu, büyük ölçekte arama/optimizasyon ve mevcut kalıpların yeniden kullanımı sayesinde oluyor. Mesela Claude code'dan basit bir CRUD API yazmasını istediğimde bunu 1 dakikada çıkarıp bana 1 saat kazandırıyor. Yüz binlerce kez daha önce uygulanmış bir algoritmayı istediğimde doğru kodu hemen üretiyor. Yapay zekayı kendi uzmanlık alanında kullanırsan gerçekten çok iyi çalışıyor. Bunun dışında sonuçlar pek iyi değil

    • Bu, zeka düzeyleri arasındaki farkla ilgili bir mesele. Bilgi değil, temel düşünme kapasitesi farkı. Belli bir işe gereken bilişsel çabayı küçümsüyoruz. Ama bazen yapay zeka beklediğinden daha “düşünceli” davranışlar sergileyebiliyor. O zaman gerçekten sihir gibi geliyor

    • CRUD ya da boilerplate gibi şeyler aslında araçlarla da bir ölçüde çözülebilir. Ama yalnızca yapay zekayla mümkün olan işler de çok. Örneğin trace seviyesindeki log'ların tamamını test ederek analiz etmem gerektiğinde, yüzlerce satırı gözle incelemek çok zaman alıyor ama yapay zekaya “testi çalıştır ve sebebi bul” dediğimde gayet kullanılabilir sonuç veriyor. Artık çoğu zaman ilk adımım bu oluyor

  • Söylediklerinde belli ölçüde gerçek payı var. Ama iş dünyasında ‘düzeni yeniden kurma arzusu’ çok güçlü. Büyük miktarda sermaye kısa sürede yüksek getiri istiyor ve fon yöneticileri trendi kaçırırsa işten oluyor. CIO'lar ve CEO'lar için de aynısı geçerli. Yapay zeka benimseme yarışı, nükleer silah yarışı gibi artık durdurulamaz hâlde. Özünde kimse için iyi bir şey değil. Ama herkes dalıyorsa sen de dışında kalamıyorsun. Otomobilden önce insanlar gayet mutluydu. Ama otomobil gelince şehirler yeniden şekillendi, binalar arasındaki mesafe açıldı, işe gidip gelmek günlük hayatın parçası oldu. Yapay zeka da aynı şekilde çalışma bağlamımızın kendisini değiştiriyor. Artık herkesin yapay zeka kullanması beklentisi oluşuyor ve bir noktadan sonra bu “temel zorunluluk” gibi hissettiriyor. Dahası, bilim ve teknolojinin ortaya çıkardığı ürünler arasında gerçekten insan için “zorunlu” olan neredeyse hiçbir şey yok. Teknoloji problemi önce yaratıp sonra çözüm diye pazarlıyor. Sorun başlangıçta yoktu; çözüm çıktıktan sonra sorun hâline geldi. İşte iş dünyasını hareket ettiren temel güç bu

  • AI coding hakkındaki pek çok görüş yazısı, çok deneyimli yazılım mühendislerinin, yani tabiri caizse “ivory tower” bakış açısından yazılmış gibi geliyor. (İlgili araştırma da sadece “deneyimli 16 açık kaynak geliştiricisi”ni kapsıyordu.) Ama profesyonel olmayanlar için bu araçlar inanılmaz değerli. Benim de biraz kodlama deneyimim var ama asıl işim değil; görsel sanatçıyım. Eskiden birkaç gün sürecek şeyi şimdi bir öğleden sonra içinde bitirebiliyorum. İki ay önce işimi bırakıp oyun geliştirmeye odaklandım; bütçem geniş değil ama Claude ve ChatGPT aboneliklerini mutlaka sürdürüyorum. Gece 1'de yatakta aklıma bir fikir geldiğinde bunu yazıp hemen Codex'e atmak ve sabah kalkıp çalıştırmak gerçekten sihir gibi. Eskiden “Bu gerçekten en iyi yöntem mi?” kaygısıyla başlamaya çekinirdim ama şimdi refactor kolay olduğu için o endişe ortadan kalktı. Yalnızca doğrudan kod yazmada değil, psikolojik eşiği düşürmede de çok büyük etkisi var. Elbette eleştirilerin çoğunun bu araçların pazarlama abartısına ve “artık tüm mühendisler işsiz kalacak” söylemine yönelik olduğunu anlıyorum

  • 72 yaşındayım ve 40 yıl geliştirici olarak çalıştım. Eskisi kadar derin odaklanmak zor ama yapay zeka sayesinde hâlâ bir şeyler üretiyorum. Projenin spec'ini ben hazırlıyorum, ajan ise implementasyon ve testi üstleniyor. Artık sadece keyif için kod yazıyorum

    • Ben de yapay zekayla hızlı prototip üretme yaklaşımını seviyorum. Geçenlerde bir browser extension yapmak istedim ve Claude ile 10 dakikada basit bir sürümünü oluşturdum. Sonra arayüzü kendim biraz biraz düzelttim ve bir hafta sonu sabahını geçirip daha ince düşünülmüş, daha öngörülebilir gelişmiş bir extension tamamladım. Extension'ım tekrar eden yanıtların bir listesini gösteriyor ve hangi yanıtın localhost API'ye gönderileceğini toggle etmeyi sağlıyor. Oradan iş kuyruğu işleme, sqlite db güncellemesi, LM Studio GPT-OSS 20b ile temel bilgilerin analizi ve en sonunda Telegram'a özet gönderme akışı var. Kafamdaki fikir çok net ama deney ve PoC aşamasının dakikalara inmesi gerçekten çok faydalı. Benim gibi yeterince yetkin bir geliştirici için bu sayede tek başıma eskisinden çok daha fazla iş çıkarabiliyorum