Vibe coding yapacaksanız, neden C ile yapmıyorsunuz?
(stephenramsay.net)- Vibe coding gerçekten pratikte işe yarıyor, ancak yazarın kendi anlamadığı kodların ortaya çıkması nedeniyle programlamanın özündeki keyif azalıyor
- Tüm programlama dilleri makineler için değil, insanların rahatı için tasarlanmış araçlardır; güvenlik, soyutlama ve okunabilirlik gibi avantajlar da sonuçta insanın düşünmesini kolaylaştıran yapılardır
- Öyleyse AI'nin yazdığı kod için insan dostu dillere gerçekten ihtiyaç var mı?; makine dostu ve AI merkezli yeni bir dil olan VOPL(Vibe-Oriented Programming Language) öneriliyor
- Bu dil; çalıştırılabilir sözde kod, edebi programlamanın bir uzantısı ya da doğal dile dayalı belirli bir sözdizimine sahip bir form gibi çeşitli olasılıkları kapsayabilir
- Saklı programlı bilgisayarların ilk dönemlerinde olduğu gibi, yeni hesaplama paradigmalarına direnç tarihte tekrar eden bir olgu ve vibe coding de bu akışın bir sonraki aşaması olabilir
Programlama ile vibe coding arasındaki gerilim
- Programlama benim için iş değil, keyif; 1990'ların sonlarından beri süren bir tutku
- 25 yıldır programlama öğretiyorum ve alan dışından insanları programcıya dönüştürmeyi en gurur verici işim olarak görüyorum
- Programlama yaparken problem çözme sürecini bizzat anlayabilmenin verdiği keyfi önemsiyorum
- Buna karşılık vibe coding, AI'nin kodu sizin yerinize yazdığı ve sonuçta yazanın ortaya çıkan sistemi tamamen anlamadığı bir süreci ifade ediyor
- Bu biraz “kopya çekmek” gibi hissettirebiliyor (elbette sadece o da değil), ama tam tarif etmesi zor, rahatsız edici bir duygu yaratıyor
- Kodlamanın kendisindeki eğlencenin büyük kısmını elinden alıyor gibi görünüyor
- Buna rağmen vibe coding, yüksek kaliteli gerçek sistemler üretecek kadar iyi çalışıyor
- Arama yerine kullanmanın ötesine geçip, insanın kendisinin çözmeye üşendiği sorunları bile doğru şekilde çözüyor
- AI, hata takibi ve bellek yönetiminde insandan daha yetkin görünüyor; bir program fikrini AI'ye verdiğinizde ortaya çıkan sonuç karşısında defalarca şaşırıyorsunuz
Diller aslında insanlar için araçtır
- Abelson & Sussman'ın Structure and Interpretation of Computer Programs kitabında da vurgulandığı gibi, programlama dilleri insanlar için bir ifade aracıdır
- Kod “insanların okuması için” yazılır; makinelerin okunabilirliğe ihtiyacı yoktur
- Tüm programlama dilleri, insanın düşünmesini ve kendini ifade etmesini destekleyen ortamlar olarak tasarlanmıştır
- Rust'ın güvenliği, C++'ın soyutlamaları, Go'nun eşzamanlılığı gibi özellikler makineler için değil, insanların rahatlığı için vardır
- Bellek yönetimi, eşzamanlılık ve tip güvenliği gibi unsurlar, insanın düşünce yapısını destekleyen soyutlamalardan ibarettir
- Bu yüzden AI'nin kod yazdığı bir çağda, insan merkezli dil tasarımı gereksiz hale gelebilir
O halde AI için böyle bir dile ihtiyaç var mı? : “C ile vibe coding yapın” önerisinin anlamı
- Vibe coding sırasında insan zaten kodun tamamını bütünüyle anlayamadığı bir durumda program yazıyor
- Böyle bir durumda insan dostu sözdizimini korumanın gerekçesi zayıflıyor
- İnsan dostu diller yerine makine dostu bir dille (C ya da assembly) doğrudan yazmak daha mantıklı olabilir
- AI, C'nin undefined behavior, bellek serbest bırakma ve off-by-one gibi sorunlarını insandan daha incelikli biçimde yönetebilir
- Nasıl derleyici optimizasyonu daha iyi yapıyorsa, insanı aşan bir doğru kod yürütme yönetimi yeteneği de gösterebilir
- O zaman şu soru ortaya çıkıyor: AI'nin kullanımı için daha uygun bir dile ihtiyaç yok mu?
- Neden vibe coding'i ille de Python, Rust ya da C++ gibi “insan merkezli” dillerle yapmak zorundayız?
VOPL(Vibe-Oriented Programming Language) önerisi
- Vibe coding'i temel alan bir dil düşünülürse şu olasılıklar hayal edilebilir
- Çalıştırılabilir sözde koda yakın çok yüksek seviyeli bir dil
- Edebi programlamanın tamamlanmış bir hali gibi, insanın sadece anlatımı yapıp AI'nin makine kodunu üretmesi
- Doğal dil gibi görünen ama belirli “deyimsel kalıplara” sahip bir yapı
goroutineyerine gündelik terimlere dayanan eşzamanlılık ifadeleri (slang) gibi kavramlar
- Amaç, AI'nin problemi doğru anlayıp hızla çalışan kod üretebilmesi için makine merkezli bir ifade sistemi tasarlamak
- AI'ye yeni bir dil öğretmenin zorluğu elbette var; ancak bugün bile birçok geliştirici AI'ye sözde kod verip sohbet eder gibi kod ürettiriyor, bu yüzden
VOPL'in bir türünün zaten öğreniliyor olması da mümkün
Programlama eyleminin değişimi
- “Elle kod yazmak”, geleceğin vibe coder eğitiminde Montessori tarzı temel eğitim gibi görülebilir
- Photoshop öncesi dönemde elde çizim eğitiminin ya da elektronik hesap makinesi çağında bile kâğıt üzerinde denklem çözme alıştırmalarının eğitimde kalmaya devam etmesi gibi
- Yeni bir paradigmanın gelişine duyulan direnç tarihte defalarca tekrarlandı
- Saklı programlı bilgisayarların ilk benimsenme dönemindeki itirazlar (ENIAC → EDVAC)
- Grace Hopper'ın bile “makine, makine komutlarını yazamaz” eleştirisine karşı mücadele ettiği bir tarih var
Sonuç mesajı
- Vibe coding artık bir gerçek ve gelecekteki geliştirme pratiği dilin kendisinin yeniden tasarlanmasını gerektirebilir
- İnsan merkezli diller çağından, AI merkezli dillere geçiş olasılığının ciddi biçimde tartışılmasının zamanı gelmiş olabilir
“Same vibe, as the kids say.” — Bugünün deyimiyle söylersek, aynı vibe işte
Henüz yorum yok.