Author Archives: Özcan Acar

About Özcan Acar

Bilgisayar mühendisi olan Özcan Acar 1997 yılından beri programcı olarak çalışıyor. KurumsalJava.com, SmartHomeProgrammer.com ve Mikrodevre.com adresleri altında blog yazıyor. Pratik Programcı Yayınları bünyesinde Pratik Spring, Pratik Agile, Pratik Git ve Design Patterns ismini taşıyan kitapları bulunmaktadır. 21.12.2009 tarihinde Java Champion olarak seçildi.

Sona Kalanlari Köpekler Isirir

Yazilimcilar yapay zeka konusunda bu aralar üc gruba ayrilmis duruma: – Ilk deneyimini yaptiktan sonra bir ise yaramadigini düsünenler– Hic ilk tecrübesi olmayanlar– Yazillimi tamamen yapay zekaya devredenler Ilk iki kesim genelde yapay zeka hakkinda yapilan olumlu yorumlara kendi olmayan tecrübeleri isiginda karsi koyuyurlar, yani ücüncü kesim bunlari ikna etmekle mesgul. Soru su: Bir devrim […]

Yapay Zekanin Maliyeti

Gecen ay Github Copilot icin 173 dolar ödeme yapmisim. Sürekli Claude Opus 4.6 kullandim. Yazilan kod 5 kisilik senior bir ekibin belki 2 ayda cikacagi türdendi. Bir senior yazilimcinin tüm giderleri ile maliyeti 200K TL civarinda. Bu durumda 2 milyon TL gider karsisinda 173 dolar duruyor. Bir girisimci icin bundan daha güzel bir gider azaltma […]

Prompt Engineering

Herkes prompt yazarken sade ve detayli bir dilin yeterli oldugunu düsünüyor. Prompt yazarken kullanilan dil ilk etapta cok önemli degil, yani gramatiksel kusursuz cümlelerin yazilmasi gerekmiyor. Daha önemli olan sey baglam yani context. Context yapilacak is hakkinda plain text haricinde resim, url, kod, video, teknik terimler vs gibi yapilacak ise isaret eden yapilar ihtiya etmek […]

Yazılımda Geriye Kalan Hersey Artık Teferruattır!

Blockchain teknolojisini hatirlayalim. Her derde deva olacak diye pazarlandi. Aslinda bulduklari cözüm icin cok uzun bir zaman sorun aradilar. O arayis hala devam ediyor… Cözümleri son care gibi dikte etmek ve müstterinin gercek gereksinimlerini göz ardi etmek yazilimda bir gelenek. Her daim “böyle bir cözüm var, sizin probleminize uyuyor ya da kendinizi buna göre uydurun” […]

Junior Yazılımcı Olsam Nasıl İş Bulurdum?

Yapay zekanin yayginlasmasi ile junior yazilimcilarin artik sektöre girmeleri hemen hemen imkansiz hale geldi. Bugün üniversiteyi bitirmis bir junior yazilimci olsaydim, nasil is bulurdum? Bu verecegim örnek acimasiz ve is gücünü sömürme olarak algilanacak, lakin back to the roots yapmak zorundayiz, aksi taktirde genclerin is gücü olarak kendilerini ispatlama sanslari kalmamistir. Eskiden ve hala bazi […]

Refactoring Artik bir Zihin Aktivitesidir

Neden kodu yeniden yapilandirmak (refactoring) artik sadece bir zihin aktivitesidir? Eskiden bir yazilim ürünü icin gelistirilecek özelliklerin bir maliyeti vardi. Buna göre de yer yer öncelik siralamasi yapilirdi. Simdi bu maliyet hemen hemen ortadan kalkmis durumda. Maliyetin kaybolmaya yüz tutmasi, yazilimci olarak istedigimizi yapacagiz anlamina gelmiyor. Neden yazilim yaptigimizi hatirlayalim. Yazilim müsterisi icin yapilir. Yazilim […]

Tuvaldeki Uygulama

Degerli arkadaslar, yapay zeka ile yazilimin nereye dogru gittigini size resmetmeye calisacagim. Kendim, biraz sonra okuyacaklarinizi intensif bir sekilde son günlerde yasiyorum, yani dogrudan tecrübelerimle sabit. Ben sadece 3 gün icinde bir device management sistemi gelistirdim. Bu cihaz tarafinda go ile bir agent, sunucu tarafinda bir spring boot + angular uygulamasi. Iki taraf icinde hic […]

Ürün ve MVP Ötesi

Ürün ya da mvp cikarmak sorun degil, asil mevzu onu müsterisi ile bulusturmak. Kod yazip, ürün olusturmak baska bir sey, o ürünü canliya alip, calistirmak cok baska birsey. Bu yüzden her yazilimicinin yazilim haricinde hakim olmasi gereken teknik konulari basliklar olarak yaziyorum. Gerisini bilenler tamamlayabilir: Kod yazdim, isim bitti mi diyorsunuz?

Yapay Zeka Ile Deklaratif Programlama Cagi

Promptlar ile kod yazdirmak deklaratif programlama tarzidir. Nasil degil ne yapilacagini beyan etmemiz yeterlidir. Deklaratif apiler araciligiyla neyin nasil yapildigini bilmeden zaten yillardir deklaratif programliyorduk. Simdi nasil kismini LLMlerin üstlenmis olmasi bizim calisma ve düsünme tarzimizda birsey degistirmez. Bugünün programciligi ehliyeti olan herkesin istedigi marka bir araci sürebiliyor olmasi ile ayni seydir. Ehliyetim var ama […]

Yazay Zeka ile Otomasyon Cilginligi

Artik nereye bakarsaniz claude code ya da türevleri ile yazilim projelerinde her seyi otomatize etmeye calisanlari göreceksiniz. Kesinlikle bir satir kod yazma niyetleri olmadigi gibi gereksinim analizinden dogan artefaktlari yapay zekanin alabilecegi bir yerde (örng. backlog) tutup, gerisini full otomatize etmeyen calisan tiplerden bahsediyorum. Genelde bu tipler “aksamdan bir dügmeye bastim, sabah kalktigimda tüm uygulama […]

Test Yazmaya Gerek Kalmadi

Artik kodu yapay zeka yaziyor, bunu kabul ettik. Peki biz yazilimci olarak isin neresindeyiz? Bunu burada uzun uzun anlatmak istemiyorum. Yazilimci olarak isimiz baska alanlara kaymis durumda, ama artik kod yazmayacagiz. Artik en önemli görevlerimizden birisi test yazmak / yazdirmak ve yapay zekanin olusturdugu kodun yani olusturmak istedigimiz ürünün davranislarini test etmek. Ama test kodunu […]

LLM’ler Cagimizin Yeni Derleyicileri

Su anda LLM ler turing complete degil. Er ya da gec LLM ler derleyicilerde oldugu gibi deterministik sonuclar üretmeyi ögrenecekler. Assembly kodunun elden yazildigi günler bunun icin güzel bir örnek. Yüksek dil derleyicileri assembly kodu / microcode üretmeye basladiklarinda, assembly programcilari bu ciktilara cok güvenmez ve ciktiklari elden kontrol ederlermis. Bunu artik kimse yapmiyor, cünkü […]

Kim Code Review Yapar?

Copilot / Sonet 4.5 sadece fkir olarak tanimladigim uygulama icin genis kapsamli feature listesi olusturup, bunlari 45 dakika icinde  6.319 satir kod ve 46 Dart dosyasi olarak implemente etti. Ayni zaman zarfinde uygulamanin ihtiyac duydugu backend API de olustu. Bu ufak capli bir uygulama idi. Genis capli bir uygulamada kod satir adedi 100K ya ulasabilir. […]

Junior Yazilimcilar ve Vide Coding

“Vibe coding” terimi mevcut durumu tanimlamak icin artik yetersizdir. Genc yazilimcilar artik vibe coding yapmiyorlar, usta cirak iliskisi icinde gerekli tüm temel ve üst bilgiyi hocalarindan (AI) ögreniyorlar. Bizim dönemimizde eksik olan usta-cirak iliskisi artik olusmus durumda. Genc yazilimcilari bu nimetten faydalanmalari yerine uyarmak anlamsiz. Yaptiklari vibe coding degil, yeni düzenin ögrenme süreci ve bu […]

Analog Yazilimdan Dijital Yazilima Gecis

Yazilim camiasindaki güncel gelismeler Alice harikarlar diyarinda gibi hissettiriyor. Artik iki dünya olustu: analog yazilim, dijital yazilim. Benim gibi uzun yillardan beri yazilim yapanlar analog yazilim dünyasinda yetistiler. Bugün yazilima yeni basliyanlar, dijital yazilim dünyasinin parcasi olarak yetisecekler. Onlarin mevcut yapilara adapte olmalari cok daha kolay. Birkac ay öncesine kadar “vibe coding” in yeni baslayanlar […]

Mindshift

Benim 20 sene imperatif program kod yazdiktan sonra fonksiyonel proglamaya gecisim cok zor olmustu. Beynimin en son hücresi bile imperatif düsünmeyi yeglerken, artik bunu baska türlü yapiyoruz demek yeterli olmuyor. Insanin bu kemiklesmis düsünce sablonlarini asmasi cok zor. Yapay zeka baglaminda günümüzde senior (10+ yil tecrübe) olan programcilarin da buna benzer bir problem ile karsi […]

Code Generation ve Generative AI

Code generation konusunda nereden nereye geldik… Kodu generate ettirmek icin kod yazarken, simdilerde kod yazmadan gen ai ile tüm kodun olusmasini seyrediyoruz. Bundan sonra ne gelecek? Makina kodu yazmanin ne kadar zor oldugunu hatirlayalim. Assembly ile programcilikta büyük bir sicrama yasandi. Bu da yetmedi ve Fortran, C ve Java gibi diller ile daha yüksek bir […]

Yazilimcilar Icin Yapay Zeka Kullanma Klavuzu

Ben günlük islerimde IntelliJ / Android Studio ve Copilot Claude Sonnet 4.5 yapay zeka modelini kullaniyorum. Zaman icinde kendim icin yapay zeka öncesinden cok farkli bir calisma modeli gelistirdim. Bu bir nevi yapay zeka kullanim klavuzu. Yapay zeka araclari gelistirildi lakin bunlarla nasil programci olarak calismamiz gerektigine dair bize bir kullanim klavuzu verilmedi. Herkes kendi […]

Bindikleri Dalı Kesiyorlar

Kendi bindikleri dalı kestiklerini anladıkları için çark etmeye başladılar. Yapay zeka yazılımcıyı ortadan kaldıramaz. Yazımcılar yapay zeka araçlarını çok iyi kullanır hale gelecekler. Senior olanlar junior olanların gelişimine odaklanarak usta pozisyonuna geçecekler. Çırak olan junior yazılımcılar ustalarından ve yapay zekadan bu işin nasıl yapıldığını öğrenip, kendileri de zamanı geldiğinde usta konumuna yükselecekler. Bu şekilde şimdiye […]