Vibecoding ile Neler Yapılamaz?

Yazilim bilgisi olmayan bir vibecodingcinin yapamayacaklari: Daha onlarca konu sayabiliirim. Yani kod yazdirabilmek, kaldi ki onu da dogru yapamaycaktir, tek basina hicbir anlam ifade etmemektedir. Bu alanlarin hepsine hakim olan senior yazilimci arkadaslara selamlarimi gönderiyorum.

Sky is the Limit

2022 yilina kadar 25 sene boyunca programci olarak calistim. Yapay zeka araclari kullaniminda sifir kod yazma, sifir kod review, sifir test yazma evrelerine kadar geldim. Yazilimda her zaman müsterinin ve onun isteklerinin ön planda olmasi gerekliligine inandim ve bunu hep savundum. Ama günün sonunda hep masa basina dönüp, kod yazmak zorunda kaldim. Artik böyle bir […]

Kod Yazarken Uygulama Gelistirilmez

1.5 yildir bir Java sinifi, tasarim sablonu, algoritma ya da hangi veri yapisini kullanacagim aklima bile gelmiyor. Ben bütün gün uygulamanin faal olacagi alan (domain) icinde takiliyorum ve ne sorusunun cevabini ariyorum: Beni daha iyi bir programci yapan hicbir zaman teknik bilgim olmadi. Nasil sorusuna cevap bulmakla yükümlü yapay zekayi yönlendirirken bu teknik bilgi elbette […]

Software Factory Pattern

Daha önceki yazilarimda yapay zeka araclari ile calisirken gectigim evreleri sizinle paylasmistim. Buna bir yenisi daha eklendi: Software Factory Pattern Gectigim Evreler: Autocomplete -> Prompt Engineering -> Loop Engineering -> Software Factory Pattern 4 sene öncesinde benim icin ilk yapay zeka araci olan Github Copilot ile tanistigimda, satir bazinda autocomplete özelligi ile bu arac benim […]

Yapay Zeka ile Uygulama Geliştirme Yol Haritası

Yapay zeka araclari ile ürün gelistirmek istiyorsaniz, bunu nasil yapmaniz gerektigine dair benim uyguladigim yol haritasini sizinle paylasmak isterim. Yol haritasi su sekilde: Ben öncelikle iyi bir fikri oldugunu düsündügüm noktada ise koyuluyorum. Buradan girisimcilik, piyasa arastirmasi, fizibilite, rekabet kosullari vb gibi konulari göz ardi ediyoruz. Ben ürünün teknik olarak nasil olusturulacagina deginecegim. Fikir tek […]

Loop Engineering ve Otonom Uygulama Geliştirme

Yapay zeka araclari ile ilk zamanlar line autocomplete özelligini kullanarak uygulama gelistirme serüvenime devam etmistim. Daha sonralari bunu metot ve sinif bazinda yapmaya basladim. Akabinde promptlarla uygulanin parcalarini degistirmeye basladim. Daha sonra promptlarla komple uygulama özellikleri gelistirebilecegimin farkina vardim. Promptlarin uygulama özelligi gelistirme konusunda yetersiz kaldiklarini, tüm bir uygulama özelligi icin onlarca prompta ihtiyac oldugunu […]

Hayallerinin Gerçek Olacağını Bilseydin

Kücük bir örnek vereyim, nereden nereye geldigimizi gözler önüne serebilmek icin.. 2000 lerde yaptigim Bizimalem.com projesi full distributed bir sistemdi. Orada tüm video, resim ve benzeri binary dosyalar icin mogilefs isminde open source bir distributed file storage sistemi kullanmistim. Detaylar icin bknz: O zamanlar böyle bir sistemi kendim yapayim diye bir fikir bile aklina gelmezdi […]

LLM’ler Deterministik Output Üretmezmis!

Su anda LLM’lerin daha iyi ve hizli kod yaziyor olmalarina karsi duydugun tek argüman: “LLM’ler deterministik output üretmez”. Fable 5 / Opus 4.8 ile calisin, deterministik output ne anlama geliyor, görün. Ondan sonra bu konuyu tekarr degerlendirelim :) LLM’lerle calisirken önemli olan derleyicilerdeki gibi ayni input icin ayni output’u almak degildir. Önemli olan ayni input […]

Programlama Dilleri Tarihe Karışıyor

Yüksek dillerin ortaya cikma nedeni ne? Assembly neden yetmedi? Gelin simdi neden cok uzun zamandir kod yazmadigimiza bir göz atalim. Kod derleyiciler icat edilmeden önce dogrudan makina icin yazilirdi. Yüksek dillerin ve onlarin derleyicileri icat edildikten sonra programcilar makina icin kod yazmayi biraktilar. Bütün gerekli kodu ve optimizasyonu derleyiciler yazmaya basladi. Programcilar sadece bir üst […]