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.

Loop Engineering

Ok, time for the next mind shift. Artik prompt engineering degil, onun yerine loop enginering yapiyorum. Ikisinin arasindaki fark ne? Prompt engineering türünde yapay zeka ile sürekli interaksiyon halindesiniz. Prompt veriyorsunuz, o birseyler yapiyor, siz sonuca bakiyorsunuz, düzeltmek istedikleriniz icin yeniden bir prompt yaziyorsunuz ve bu döngü sürekli bu sekilde devam edip, gidiyor. Kisaca prompt […]

Fable 5 Masal Oldu

Birisi Fable 5 i hacklemis ve Mythos özelliklerini ortaya cikarmis. Claude 1000 saat test ettik, hersey güvenli diyordu :) https://lnkd.in/eHpgzN2K Bende su an Fable 5 calisiyor ama icerde Opus 4.8 e routing yapiyor olabilir. Zaten güvenlik söz konusu olunca default Opus 4.8 e yönlendiriyordu promptlari. Kac gün oldu Fable 5 cikali? 4 gün, 5 gün? […]

Fable ile Chatgpt Nasıl Beraber Çalışırlar?

Bilgisayarimda claude code fable ve chatgpt desktop sürümünü birbirleri ile birlikte calisacak sekilde kullaniyorum. Chatgpt analiz konusunda, fable ile teknik implementasyon tarafinda daha iyi. Aklima gelen ilk sey dogal olarak, benim aradan cekilerek, birbirleri ile sohbet halinde benim taleplerimi yerine getirebilip, getiremeyecekleri oluyor. Bu dogrudan mümkün degil, ama dolayli olarak yapilabiliyor. Birlikte calisabilmeleri icin sagladiklarim: […]

Gereksinim Analizi

Bir ürün gelistirmek icin muhattap alinmasi gereken tek sahis müsteridir. En ideal sartlarda müsteri SIKlikla yazilim ekibi ile bir araya gelir ve sorulari cevaplar. Cogu zaman aslinda müsterinin de ne istedigini bilmedigi ortaya cikar, ama yine de ürüne dair bir vizyon gelistirmek ve gerekli ürünü ortaya koymak bu sekilde kolaylasir. Müsterinin yazilim ekibi ile bir […]

Tcp İle Udp Arasındaki Farkı Bilmek

Bilgisayar mühendisi udp ile tcp farkını bilmek zorunda değil. Neden bilmek zorunda oldugunu abstraction leak üzerinden anlatayim. Evet, cogu zaman bilmek zorunda degil. Ama bilmesi gerektigi an geldiginde ve bu farki bilmediginde, gerekeni yapamaz ya da cözüm üretemez ya da sorunu cözemez. OSI (Open Systems Interconnection) modeli ag iletisimi 7 katmana ayirir. En tepede uygulamanin […]

Yapay Zeka İle Nasıl Çalışıyorum

Yapay zeka ile degisen calisma tarzimi örnek olabilmesi acisindan sizinle paylasmak istiyorum. Artik IntelliJ / Android Studio uygulamalarini yapay zekanin yaptigi degisiklikleri takip etmek icin kullaniyorum. Cogu zaman commit penceresindeyim ve üzerinde degisiklik yapilan ya da yeni eklenen dosyalari, ne yapildigini anlamak icin editörde acarak, inceliyorum. Bir prompt ile aldigim netice tatmin edici ise, hemen […]

Yeni Soyutluk Seviyesi

Soru net olarak şu:  LLM’ler programlamanın özünü mü değiştiyor yoksa bir sonraki soyutluk katmanına hazırlık mı? Enformatik tarihine baktığınızda, bu sorunun cevabını net olarak görüyoruz.  Bugünkü çalışma modeli: Müşteri -> Gereksinim -> Programcı -> Prompt -> LLM -> Kod Bir üstteki soyutluk seviyesi Müşteri -> AI -> Ürün Yanı ne olacak? Yeni soyutlama ya da […]

İşin Özü

Şimdi kısa bir yazılım tarihine göz atalım. Bit ve bytelar ile başlayan şey daha sonra makina kodu, assembly, c, java, çatılar, dsl, no-code ve llm olarak devam etti. Biz şu anda bu zincirin en tepesinde duruyoruz. Yani programcılığa en soyut seviyeden bakıyoruz. Her seviye bizim program yazış tarzımız üzerinde etkili oldu. Çalışma tarzımız değişti, ama […]

Yazılım Artık Epistemolojidir

Yazlilm bir ontoloji olmaktan cikip, yapay zeka ile epistemoloji olma yoluna girdi. Teknoloji ve varligini konusurken (nasil programlanir, nasil calisir, framework nedir vs), onun yerine birdenbire bilinc nedir (skynet), LLM caginda bilmek nedir, uzmanlik nedir gibi konulari konusuyoruz artik. Bu gecis artik ne yazik ki kolay degil. Bu yazimda teknolojik fay hatlarindan bahsetmistim: Bu artik […]

Teknoloji Ötesi

Kusuruma bakmayin arkadaslar, ama büyük bir degisim icindeyiz yazilim camiasi olarak ve topyekün teknolojinin arkadasindaki epistemolojik sorulara yönelmemiz gerekiyor, cünkü mevzu artik teknoloji, onun kullanimi ve bu konuda ne kadar iyi oldugunuz degil. Cevap bulmamiz gereken sorular var. Bunlar: – Uzmanlik nedir? – Ben artik bir programci olarak kalabilir miyim? – Rolüm ne olacak? – […]

Artık Kod Yazmaya Gerek yok

Artik kod yazmamiza gerek yok. Son 10 paylasimima bakarsaniz, yazdiklarimin ana temasi bu noktaya isaret etmektedir. Örnek olarak derleyicileri verdim. Bu konuyu biraz daha irdelemek istiyorum. Bir derleyici ve bir LLM ayni seyler degiller, ama prensiplte cok benzer calisiyorlar. Ortak özellikleri ve farkliliklarina programci perspektifinden inceleyelim. Programcinin yazilim konusundaki rolünün baska bir alana kaydigi konusunda […]

Gerensinim Analizi

Bir feature implementasyonu öncesinde, ait oldugu alana ve hangi özelliklere sahip olmasi gerektigini daha iyi anlayabilmek icin gereksinim analizi ile basliyorum. Bunun gercek muhattabi aslinda müsteri. Lakin ben belli bir piyasa icin bir ürün gelistiriyorum ve bir müsteriye dogrudan erisimim olmadigi icin piyasa arastirmasi, ürün kiyaslamasi ve yapay zeka yardimi ile gereksinim analizi yaparak ilerlemek […]

Yazay Zeka Yolculuğumun Kısa Hikayesi

Uzun bir zaman önce su an üzerinde calistigim ürünü gelistirmeye basladim. Ilk zamanlarda Github Copilot IntelliJ plugini ile auto complete yaparak ilerledim. O zamanlar bugünkü anlamda agentik bir yazilim modeli mümkün degildi. Modeller iyilesmeye basladiktan sonra, takriben 1.5 sene önce Claude Sonnet 4.5 ile yazilimi tamamen yapay zekaya devreme sürecim basladi. Bu modellerin yetersiz kalmaya […]

Yeni Derleyiciler LLM’ler

Artik kod yazmaya gerek kalmadi söylemlerime sürekli dolayli ya da dogrudan itirazlar geliyor. Yani bir yerlerde mutlaka lazim olacaktir, biz yazmaya hazir olalim minvalinde söylemler genelde. Hayir, kod yazmaya gerek kalmadi! Nedenini aciklayayim. Ben ilk kod yazmama deneyimlerime Opus ve Sonnet 4.5 ile basladim. Sonnet bu konuda cok basarili degildi ve ben cogu yeri elden […]

İpek Böceği

Tüm yazilimi yapay zekaya birakmis birisi olarak, yetilerimin körelmemesi icin ne yapiyorum? Hicbir sey! Yillar harcayarak kazandiginiz o yetiler kullanmadiniz diye kaybolmazlar. Bisiklet sürmesini ögrenmis birisi her daim o bisikleti sürecek yetiye sahiptir. Yapay zekayi verimli kullanan bir yazilimci (senior) algoritmalari, veri yapilarini, mimarileri zaten bilen, kullanan, o konular hakkinda yeni gelismeleri takip eden birisidir. […]

Yapay Zekaları Birbirlerine Kırdırma

Siz hic iki yapay zekayi birbirine kirdirdiniz mi? Cok eglenceli. Kirdirma biraz egzejere bir örnek oldu. Daha ziyade birbirlerinin saglamasini yapma diyelim buna. Bir örnek üzerinden inceleyelim. Prompt hazirladim ve bir feature icin Opus calismaya basladi. Isi netlestirmesi icin AskUserQuestion ismini tasiyan bir araci kullanmasini istiyorum. Bu durumda Opus varsiyamlar yapmak yerine bana sorular sorarak, […]

Full Automated Coding

Simdi yine reklam yapmaya basladi denecek, ama yine de söylemek zorundayim: Opus 4.8’e hemen gecip, bütün yazilim sürecini ona devretmeyen – Mevzuyu hala anlamamistir – Hicbir AI tool tecrübesi yoktur – Baska araclar (codex gibi) ile kötü tecrübesi olmustur ve AI olayini rafa kaldirmistir, cünkü daha iyisini kendisi yapabiliyordur – Is yerindeki güvenlik politikalari (ona, […]

Yazılım Hala bir Zanaat mı?

Söyle bir yazim var, okuyanlar bilirler: Programcilik sanat mi, zanaat mi? Bu yazim LLMler ünlenmeden ve benim yazilim konusunda fikirlerim degismeden önce kale aldigim bir yaziydi. Ben yazilimi hicbir zaman sanat olarak görmedim. Yazilim ustalik gerektiren birsey ve bir zanaattir. Bazilarinin idda ettigi gibi siir gibi kod yazinca sair, yani sanatci, o kod da sanat […]

AI First

Cok karmasik bir yapi üzerinde calisiyorsunuz. Yapay zeka (benim örnegimde opus 4.8) gerekli implementasyonu gerceklestirdi ve sonuc istediginiz sekilde olmadi. Ne yaparsiniz? Örnek olmasi acisindan benim bu durumda nasil ilerledigimiz aktarayim. Kesinlikle debug yapmaya baslamiyorum. Benim zihnim artik tamamen code first degil AI first olarak isliyor. Böyle durumlarda yeni bir prompt ile yapay zekaya durumu […]