Kategori arşivi: Yapay Zeka

Amiga Efekti

Amiga 500 sahibi olanlar bilirler. Ram extension slotu vardi. 512KB olan hafizayi yine 512KB bir kart ile 1MB yapmistim.

Yapay zeka ile böyle bir analoji yasiyorum. Söyle ki:

Temelde yapay zeka yazilimcinin contextini büyütmüs oldu.

Yazilimci bu yeni context ile daha karmasik yapilara hükmedebiliyor, daha fazlasini görüyor, analiz edebiliyor ve daha hizli karar verebiliyor.

Aslinda yapay zeka yazilmcinin mevcut kapasini artirmak icin kullanabilecegi bir ram ve cpu extension karti.

Ben Amiga bilgisayarimin hafizasini 1MB ye yükselttigimde hicbir degisiklik hissetmemistim. Ama yapay zekada durum cok cok farkli ;-)

Iste yapay zeka bazilarinda Amiga efekti olustururken, bazilarinda level atlatan bir basamaga dönüsecek.

Claude Opus

Opus 4.7 ile deneyimlediklerim:

Yeni Opus’dan 4.6 ile yaptirdigim karmasik bir veri senkronizyon implementasyonunu analiz etmesini ve aciklarini bulmasini istedim. Yirmiye yakin madde iceren bir liste olusturdu. Bunlardan dört tanesi cok kritik. Özellilkle bunlardan ilki bir güvenlik sorunu.

Bu hatalarin critical ve high olanlarini ortadan kaldirmasini istedim. Sekiz saat süren bir calisma sonunda mevcut implementasyonu da calismaz hale getiren bir sonuc ortaya cikardi, calisan seylerde calismaz oldu.

Bu noktada Opus 4.6 birkac iterasyon ile yaptigi ya da buldugu hatalari düzeltebiliyorken, Opus 4.7 halüsinasyon sebepli gereksiz, hatali ve anlamsiz analizler sonunda implementasyonu daha da kötülestirdi.

Opus 4.7 cok iyi analiz yapabiliyor, lakin önerilerini karmasik mimari ve yapidaki bir kod tabaninda implementasyon ile taclandirmakta cok zorlaniyor. Burada islemci gereksinimini minimize edebilmek icin context kapasitesi üzerinde degisiklige gidilmis gibi duruyor. Bu yüzden Opus 4.7 benim güvenimi yitirdi.

Bundan böyle ben implementasyonu Opus 4.6 ile yapmaya devam edecegim. Akabinde Opus 4.7 ile mevcut aciklari analiz ettirip, bunlarin yine Opus 4.6 tarafindan islenmesini saglayacagim.

Opus 4.7 Opus Mythos’un temelini olusturuyor büyük bir ihtimalle, cünkü critik güvenlik sorunlarini bulmakta cok yetkin.

Lütfen

Opus-4.7 daha bi özgüveni yüksek mi ne?

Bir sorunu analiz etmesini istedim. “Tam stack lazim, yoksa sallamis olurum” diyor :).

Opus 4.6 olsa “stack lazim, verebilir misin” diye sorardi.

Yakinda o sihirli sözü söylemedin ama filan der bu.

Biraz önce ilk defa 3 gün süren bir rate limit yedim. Hemen baska bir hesap acip devam ettim. Opus’un kafasi bozulunca rate limit ile tehtit eder giibime geliyor ;-) O yüzden artik her prompt lütfen ile baslayacak.

Ben tirstim iyice. 3 bün ban ne demek ya! Bütün isin alt-üst olur. Günün sonunda kendim yaparim da, bu rahatliga alisinca artik hersey daha zor. Hicbir sey eskisi gibi olamaz artik.

Ne günlere kaldik (geldik) ya!

Zayıf Bağlam

Yapay zeka baglam sorunu nedeni ile alzheimer hastasi gibi yaptigi cogu seyi unutabilir.

Bu kücük capli islerde sorun teskil etmiyor. Lakin bir sorunu cözmek icin daire icinde dönmeye basladiginda, zayif bir baglam yapay zekanin birbiri arkasina hep ayni cözümleri uygulayarak, degisik sonuclar almaya calismasina sebep olabilir.

Burada yazilimcinin bu döngüyü kirmasi ve yapay zekaya daha önce kullandigi cözümlerin hatirlatilmasi, bunlarin bir ise yaramadiginin, sorunu tekrar baska bir perspektiften degerlendirmesi gerektigi söylenebilir. Ayrica “ayni hatalar olusuyor, dairede dönüyoruz, sorun neden cözülmüyor” gibi sözler de yapay zekayi sorunu degisik acilardan incelemeye zorlayabilir.

Bundan sonra masasinda ajanlarina bagiran, cagiran, onlari zorbalayan yazilimci görürseniz, sasirmayin :-)

Dağarcığın Gücü

Yapay zaka ile ortaya cikan isin kalitesi, yazilimcinin yetenekleri ile dogrudan iliskilidir. Yazilimci neyi yapabiliyorsa yani neye kadir ise, onu yapay zekaya yaptirabilir. Buradaki tek fark; kendisinin yapmiyor, yaptiriyor olmasidir.

Yazilimci kendisinin tek basina olusturamayacagi bir cözümü yapay zekaya yaptiramaz. Yaptirsa bile bu tesadüfi cözümü ne yönlendirebilir ne de anlayabilir.

Kelime hazinesinin genisliginin ifade gücü üzerindeki etkisi ne ise, yazilimcinin yetenek, bilgi ve tecrüsinin yapay zeka destekli cözümlerin basarisi üzerindeki etkisi de odur.

Gercek hayatta oldugu gibi yapay zekada da onu kullananin dagarciginin gücü sonucu belirler.

Gereksinimlere Odaklanma

Eskiden bir uygulama bünyesinde herhangi birsey yapilmak istendiginde sürec yazilimci icin söyle isliyordu:

Yazilimci ne yapilmasi gerektigini anladiktan sonra, bu gereksinimi hayata gecirmek icin teknik detaylar ile boguslaya basliyordu. Bu bogusmaca sonucunda asil gereksinim yazilimci odagindan cikiyor ve teknik cözüm onun yerini aliyordu. Bu sebeple istenilen degil de teknik olarak yapilabilen ortaya cikiyordu cogu zaman.

Yapay zeka ile bu odak kaynamasi artik gerekliligini yitirdi, cünkü yazilimcinin teknik detaylar ile ugrasma zorunlulugu azaldi ve bu mental yükün hafiflemesi ile tamamen yazilimci müsteri gereksinimlerine odaklanabilmekte.

Yazilimda esas olan zaten budur, müsteri gereksinimlerine odaklanma!

Analizin Analizi

Yapay zeka insanlarda oldugu gibi dogru analiz yapamadigi taktirde karmasik cözümler üretebiliyor. Söyle daha kolay olmaz mi dediginizde, haklisiniz cok karmasik düsünmüsüm, bu benim düsündügüm cözümden cok daha mantikli ve basit diyebiliyor.

Burada öne cikan durumlar:

  • Yapay zaman hersey dogru analiz ve dogru implementasyonu secemeyebilir
  • Yazilimcinin bu analiz sonuclarini analiz ederek, daha kolay bir cözüm olup, olmadigini kestirebilmesi ve yapay zekayi bu baglamda yönlendirebilmesi gerekebilir
  • Yapay zeka tüm contexte hakim olamadigi icin ürettigi cözümler cogu zaman KISS konform olmayacaktir
  • KISS olmadan zaman icinde uygulama altyapisi cok karmasiklasir ve bakimi zor hale gelir. Bu yapay zeka ile yeni özellikler ekleme sürelerini drastik bir sekilde artiracaktir.

Sonuc: sadece kod yazmayi yapay zekaya devretmek mantiklidir. Ama o implementasyona giden gerensinim ve cözüm analizi yazilimcinin sorumlulugundadir. Ilki vibe coding, ikincisi profesyonel yazilimcilik icin gerekli tek yol.

Huma Context Switch

Yapay zeka ile calisirken en limitleyici faktör yazilimcinin kendisi.

Yazilimci birden fazla ajan ile calisirken baglamlari (context) yönetimesi, context switch nedeni ile onu cok zorluyor.

Örnegin ben bu yaziyi yazarken hem frontend hem de backend ajanlari onlara verdigim görevleri yapiyorlar, ama ben kismen hangisinin hangi isi yaptigina dair bilgiyi bu yaziyi yapmak icin zihnini toplamak ve context switch yapmak zorunda oldugum icin unutuyorum.

Yapay zeka ile calisirken cözülmesi gereken bir sonraki challenge human context switch. Bu büyük bir ihtimalle yazilimciyi tamamen devre disi birakarak mümkün olacak.

Çevik Yazılımın Rönesansı

Yazilim dünyasinda tas üzerinde tas kalmiyor :) Dogru bilinenler ve uygulamalar artik kendiliginden ortadan kalkmaya yüz tutuyor. Bunlarin basinda garip toplantilar var. Digerlerine diger yazilarimda deginecegim.

Düsünsenize ortada yazilim ekibi bile kalmamis, tek bir yazilimci kocaman bir ajan ordusunu orkestre ediyor ve toplanmaya gönüllü olanlar sadece yönetici tayfasi, cünkü yapacak baska isleri yok. Gözünüzde canlandirin bi… Toplanti odasinda tek bir yazilimci var ve en az 5-6 tane yönetici, scrum master, menicır, bilmem nerenin baskani vs oturuyor. Sadece toplantilar degil, bu yönetici tayfasi da ortadan kalkacak. Ajanlarin onlarin yerine gecmesi an meselesi :)

Cevik olmak icin ne gerek miyordu?

– Yönetici tayfasi
– Programciya neyi nasil yapildigini söylemek
– Takimi programci, analizci, testci diye ayirmak.
Cevikligin özünde ne vardi?
– Yapilacak tüm yazilimla ilgili isi yazilim ekibine devredip, aradan cekilmek

– Yazilimcilarin isine karismamak
– Tüm kararlari onlarin vermesini ve sorumlulugu almalarini saglamak.

Simdi bir bakiyorum da, artik yapay zeka ile full cevik yazilim yapabilmek icin tüm imkanlar bir araya gelmeye baslamis gibi görünüyor.

Cevik yazilimin rönesansi bu.

Hangisi Daha Verimli

Hangisi daha verimli?

1. Frontend programcisi api gereksinimlerini backend programcisina delege ediyor ve IO veri yapilari üzerinde uzlasma saglamalari gerekiyor. Test, entegrasyon vs derken aradan uzun bir zaman geciyor ve api tam istenildigi sekilde calismayabiliyor. Bu beraberinde uzlasma seanslari getiriyor. Frontend programcisi backend ve api development konularinda kendisini tamamen saliyor ve UI harici bir is yapmiyor. Ayni sekilde backend programcisi asil gereksnimlerden bihaber api programlamaya devam ediyor ve gereksinimleri anlama konusunda frontend yazilimcisina bagimli hale geliyor.

2. Tek bir programci hem frontend hem de backend icin gerekli calismayi yapiyor ve ihtiyac duyulan apiyi client driven backend tarafinda olustuyor. Uzlasmak zorunda kaldigi birisi olmadigi icin client icin gerekli tüm apileri ihtiyac dogrultusunda olusturuyor.

Eskiden fullstack denen bir yazilimci tipi vardi. Full denmesine ragmen ekseriyetle frontend kismindan sorumluydu. Gereksinimleri anlama konusunda backend yazilimcisindan bir adim öndeydi, cünkü müsteriye ya da son kullaniciya daha yakindi. Lakin backend konsunda cok zayifti.

Fullstack rolü tamamen tarihe karismistir. Bunun yerine bir backend yazilimcisi her iki tarafida tek basina koordine edebilecek sekilde 2 numarali satirda bahsettigim sekilde sekilde fullstack calisabilir.

EOF (End Of Fun)

Konuyu Bilmiyorlar

Yapay zeka ile gelinen son nokta…

1. En radikal yazilimcilar yazilimi tam anlamiyla birakti ve sadece gereksinimlere ve testlere odaklaniyolar.

2. Is yerinde yapay zeka kullanmasi yasak olanlar gizli gizli kendi bilgisayarlarinda kodu yazdirip, google drive ya da baska bir storage üzerinden bu kodu alip, kopyala, yapistir yapiyorlar. Bunlar aslinda birinci grupta olan yazilimcilar.

3. Yapay zekayi kesfedenler. Onlar ya kisa zamanda 1. ya da 2. gruba terfi edecekler ya da bir ise yaramadigini düsünüp, vazgececekler. Vazgecmelerinin tek sebebi yazilim konusunda temelde yeterli olmamalari.

4. Isittileri kadar konuya vakif olan yazillimcilar. Bunlarin icinden 3. gruba dahil olma potansiyeli olanlar merakli olanlari. Merakli olmayanlar bu isi birakmak zorunda kalacak olanlar.

5. Hicbir seyden haberi olmayanlar. Onlara Cem Yilmaz’in bu skecini birakiyorum

Takım Olayı Bitmiştir

Bilyorum bunlar cok radikal söylemler, ama ben daha önceki yazilimci tecrübelerimi güncel tecrübelerimle kiyasladigim zaman ortaya ckan görüsler bunlar. Gülüp gecebilisiniz. Nasil olsa kisa bir zaman sonra kendiniz deneyimleyeceksiniz. Ben size hizlandirilmis halini anlatiyorum, yani spoiler :)

Simdi söyle bir sürecten geciyorum. Eskiden promptlarimin cok detayli, düsük cümlesiz, net ve acik olmasina dikkat ederdim. Zaman icinde bu dogrudan cümlesel bile olmak zorunda olmayan komutlara ya da kelime gruplarina dönüsmeye basladi. Ben cerceveyi yani contexti ne kadar net ifade edersem, o oranda yapay zeka benim isteklerimi yerine getirebiliyor, yani bunun icin komple cümlelere bile gerek yok. Benim ifadesel netligim ne kadar azalmis olsa bile, context icin gerekli bilgiyi sagladigim sürece yapay zeka benim cok iyi anlayip, isini yapabiliyor.

Simdi bunu eski proje hayatimdaki calisma arkadaslarimla olan iliskilerle kiyasliyorum da… Yahu bazen derdimizi anlatmak ya da anlamak icin göbegimiz catliyordu. Bu anlasma süreci yer yer cok zaman alici bir hal alabiliyordu. Simdi ise birkac kelime bile yeterli ki altinda cok karmasik bir problem olsa bile yapay zeka ne demek istedigimi anliyor ve isini hallediyor.

Sanirim yazilimda takim iside yavas yavas son buluyor. Artik tek bir yazilimci kendi ajanlari ile bir takim olusturacak, gerekmedigi sürece baska yazilimcilarla iletisim bile kurmayacak, cünkü buna zaten gerek yok. Tek isi müsteriyi anlamak ve onun gereksinlerini tatmin eden bir ürün ortaya cikarmaz.

Diyeceksiniz ki entegrasyonlarda mutlaka karsi taraf ile konusmak gerekiyor. Hayir gerekmiyor. Entegrasyonu yazilimcinin yapmasi gerekmiyor. Verin ajana kodu, o gerekli baglantiyi zaten kurar, eger kuramiyorsa Jira’da bir ticket acip, “sunu sunu söyle yapin, yoksa kullanilamiyorum abi” der.

Baska ne kaldi geriye iletisimi gerektiren? Ha su yönetici tayfasi var, her ise burnunu sokmaya merakli. Onlara zaten hicbir zaman gerek yoktu. Ilk onlar shutlanacak.

Bitti!

Test Edenler Kazandı

Ben sahsen “ben programciyim, test yazmam” diyen cok programci gördüm. Bunlardan hala cokca var.

Simdilerde ise bu programcilarin yapay zekanin ürettigi kodu test etmekten baska ellerinde hicbir secenek kalmamis olmasi ne kadar ironik degil mi :)

Test bilgisi, yetisi ve isteklilgi yazilimda her daim iyi yazilimciyi kötüsünden ayiran bir faktör olmustur. Yapay zekanin yazilimdaki hakimiye ile test konseptlarine hakim oanlar yine birkac adim öne gecmislerdir.

Yeni Dönemin Programcilari

Yazilimda esas olan kurgu ve akistir. Genel hatlari ile verileri bagimliliklari ile birlikte kurgulayamazsaniz ve birbirleri ile olan iliskilerde veri akisini düzenleyemezseniz, uygulama ya istenileni yapamaz ya da sig bir sekilde yapabilir.

Bu temel prensipleri yapay zeka araclarini kullaniyor olsaniz bile degistiremezsiniz. Kisaca neyin nasil yapilmasi gerektigi hakkinda detayli bilginiz ya da fikriniz yoksa, sizi yapay zeka araclari bile kurtaramaz.

Buradan cikarilmasi gereken baska bir sonuc da, yapay zeka araclarini bilgisayar mühendisleri, yazilim mühendisleri ve yazilim konusunda tecrübeli insanlar haricinde kimsenin yazilim ile ilgi konularda verimli kullanamayacagidir.

Bu sebeple yazilim bitmemistir sadece baska bir seviye evrilmistir. O seviyenin calisanlari da eski düzende bu ise hakim olan yazilimcilardir. Diger tayfa zaten isin zorlugunu gördükce ve bu hype sona ermeye basladiginda cok baska islerle (bir sonraki hype) ugrasiyor olacaklar ve bu yazilim olmayacak.

Yapay Zeka ve Context Türleri

Yapay zeka araclari ile calisirken üc türlü context var:

1. Yapay zekanin kullandigi ve promptlar ile olusturulan context
2. Yazilimcinin birden fazla ajani paralelde ayni is üzerinde calisabilmeleri icin kendi zihninde olusturmak zorunda oldugu zihin contexti.
3. Beynin (lislemcinin) paralel calisabimek icin kulllandigi context ve onun icindeki context switch

Bahsettigim ikinci context sadece paralelde birden fazla ajanla calismak zorunda kaldigimda ne kadar SINIRLI oldugunu gördügüm bir yapi. Insan zihni multitasking icin yapilmamis. Birden fazla feature üzerinde paralel olaral degisik ajanlari koordine etmeye calistigimda, ajanlar arasi gidip gelmeler oldugu icin bu zihin contexti islemcideki (beynim) context switchlerden dolayi zor idare edilir hale geliyor.

Bu sebeple kullanmayi ögrendigim en saglikli yöntem önce prompt araciligi ile client tarafinin implemente edilmesini saglamak ve client ihtiyaclari dogrultusunda backend tarafindaki degisikllikleri yapmak. Bu sekilde zihin icindeki context akisi hep tek yönlü oluyor ve karisiklik olusmuyor. Ama birbirinden farkli iki feature üzerinde caliyorsam, bir noktadan sonra context switch nedeni ile gidisati saglikli bir sekide ayristirmam cok zorlasiyor.

Benim cikardigim sonuc su sekilde:

– Yapay zeka destekli calisildiginda bir feature icin genel bir plan olusturulmali.
– Bu plana sadik kalarak kücük kullanici hikayeleri (user story) olusturulmali.
– Her kullanici hikaye mümkün olan semantik (teknik degil) parcalara bölünmeli.
– Eger client tarafi varsa, oradan implementasyona baslanmali.
– Client gereksinimleri dogrultusunda backend implemente edilmeli.
– Backend kodu icin yapay zekadan entegrarasyon testleri yazmasi istenmeli.
– Ortaya cikan özelligi test etmek icin onay kabul kriterlerini ihtiva eden (user story ye eklenmis olmalari gerekir) onay kabul (acceptance test) testi yazilmali. Bu testi kesinlikle yapay zeka yazmamali. Burada bir test spec yazilarak, test kodun yapay zeka tarafindan olusturulmasi saglanabilr.
– Ayni anda sadece bir özellik üzerinde calisilmali.

Karmasik bir yazilim ürününü “aksam PRD verdim, sabah kalktigimda ürün hazirdi” vari implemente etmeniz imkansiz. Profesyonel yaklasim yüksek derecede organizasyon ve interaksiyon gerektiriyor. Bu isi otomatize etmeniz imkansiz, cünkü ifade ettiginiz gereksinimlerin yapay zeka tarafindan tam anlamiyla anlasildigindan emin olmaniz imkansiz. Buradaki ana sorun yine yazilimcinin hayal ve ifade kapasitesi.

AI Driven Development

Yapay zeka araclarini tam anlamiyla verimli kullandiginiz nasil anlarsiniz?

Flow olustugunda…

Ben örnegin bir kanatta ajanlarla bir flutter ve web uygulamasini gelistirirken, diger kanatta bunlarin ihtiyac duygugu apileri. backend icin baska ajanlarla olusturuyorum. Bu iki dünya arasinda gidis, gelisler bir flow hissi olustuyor yani dogal bir akis olmaya basliyor. Siz sadece yazilimci olarak gereksinimlere odaklaniyorsunuz ve bu perspektiften ajanlara yön vermeye basliyorsunuz. Onlarda size itaat ederek, ihtiyac duydugunuz yapilari dakikalar icinde olusturuyorlar.

Iste bu akiskan ilerleme hissi olusuyorsa, siz artik yapay zeka güdümlü (AIDD – AI Driven Development) yazilim yapiyorsunuz demektir.

Deterministik Yeti

Müsterinin gereksinimlerini tatmin etmek amaciyla yapay zekay kullanimina hakimiyet icin gerekli iki yeti:

– Müsteri gereksinimlerini kavramak
– Yapay zeka destegi olmasaydi bile bunlari uctan uca tek basina implemente edebilip, canliya alabilecek teknik yeterlilige sahip olmak.

Ilki ne yapilmasi gerektigini ve yapay zekanin nasil yönlendirilmesi gerektigi hususuna isaret ederken, ikincisi hayal ürünü olan ve hicten ortaya cikmis bir ürünü hayat vererek, onu müsterinin hizmetine sunabilmektir.

Yapay zeka ile calismak deterministik bir fonksiyon kullanimi gibidir. Yukarda belirttigim iki sabit ve degismez parametreyi bu fonksiyona her verisinizde, beklediginiz ciktiyi alirsiniz, yani bu iki deterministik parametre, deterministik sonuc üretir. Simdi neden vibe coding ile hicbir yere varilamayacaginin teknik sebebini biliyorsunuz.

Yapay Zeka Ile Uctan Uca Yazilim

Yapay zeka konusunda kemiklesmis, bilgi sahibi olmadan fikir beyan edisler artmis durumda. Burada konuyu biraz daha aydinlatabilmek icin kendi düsüncelerimi ve bu konudaki tecrübelerimi paylasmak istiyorum.

Ben yapay zeka araclarina hakimiyetin bastan sona ve uctan uca projeler gelistirildiginde olusmaya basladigini tecrübe ettim. Gecen seninin aralik ayindan itibaren Claude Sonet 4.5 i kesfetmem ile yazilimi tamamen yapay zekay birakmis durumdayim. Üzerinde calistigim proje cok genis kapsamli bir platform. Bir platforma dösünebilmesinde en büyük etken yine yapay zeka oldu, cünkü eskinden zamansizliktan dolayi hic baslayamayacagim alt projeleri kisa sürede yapay zeka yardimi ile tamamlayarak, istedigim platformu olusturmam daha kolay bir hale geldi. Bu proje bünyesinde en uctan (web, mobil) en dibe (backend) kadar her türlü yazilimi yapay zeka ile birlikte yapiyoruz. Bunun söyle bir avantaji var. Client neye ihtiyaci oldugunu beyan etmesiyle birlikte ben paralelde baska bir ajan ile backend kismndaki gerekli degisiklikleri yapiyorum. Yani backend icinde kafama göre birseyler implemente etmiyorum ya da ettirmiyorum. Olusan kodun tamamini client talep ediyor. Uctan uca bu sekilde hareket ediyor olmak yapay zekanin dogru kullanimini kolaylastiriyor, cünkü ben tamamen gereksinimlere odaklaniyorum ve yapay zekayi yönlendirmem yeterli oluyor.

Eger yapay zeka ile calisma yöntemini tam anlamiyla kavramak ve benimsemek istiyorsaniz, uctan uca bir proje yapmak zorundasiniz. Hello world vari backend api olusturmak ya da bir websayfasi tasarlatmak ile yapay zeka araclarinin özlerinde nelere kabil olduklarini anlamak imkansiz. Yapay zeka araclarinin iyi kullanan bir yazilimcinin yaptigi sey aslinda gereksinimlere odaklanmak ve teknik olarak yapay zekayi gütmektir. Gerisi zaten corap sökügü gibi gelir.

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 tamamlandiginda, dogru tarafta olmayanlarin basina ne gelir?

Almanca’da bir deyim var: “die letzten beißen die Hunde” (sona kalanlari köpekler isirir).

Nacizane, sona kalmayin derim.