Çalıştırılmasa da Büyüleyen Kod: Ekranın Değil, Kaynağın Şiiri

Kod genellikle itaatkâr bir işçi gibi düşünülür: Yazarsın, çalışır, sonuç verir. Bir düğmeye basarsın, ekranda grafik belirir, robot hareket eder, veri sınıflanır. Oysa estetik kodlama bu sözleşmeyi kibarca yırtar. Burada kodun değeri yalnızca ne yaptığıyla değil, nasıl göründüğüyle, nasıl nefes aldığıyla, satır aralarında nasıl bir ritim kurduğuyla ölçülür. Ekrana çıktı veren değil, kendi yapısıyla görsel bir şiir oluşturan metinlerden söz ediyoruz. Kod, bir araç olmaktan çıkar; bakılan, okunan, hatta seyredilen bir nesneye dönüşür.

Bu yaklaşım ilk bakışta programcının verimlilik refleksine aykırı görünür. Çünkü iyi kodun sade, okunabilir, sürdürülebilir olması beklenir. Estetik kod ise bazen bu beklentiyi genişletir, bazen de ona meydan okur. Girintiler yalnızca blokları ayırmaz; sayfada bir mimari kurar. Parantezler yalnızca sözdizimsel zorunluluk değildir; bir sütun, bir kemer, bir yankı olabilir. Değişken adları yalnızca bellekteki kutuları etiketlemez; metnin içinde anlam kırıntıları bırakır. Kod artık makineye verilen talimat kadar, insana yöneltilmiş sessiz bir gösteridir.

Virüsler: Yaşamın Korsan Yazılımı mı, Evrimin Gizli Algoritması mı?

Virüsler doğanın en tuhaf şakalarından biridir: Kapıyı çalarlar ama ev sahibi değillerdir; nefes almazlar, yemek yemezler, metabolizmaları yoktur, hatta çoğu zaman kristal gibi hareketsiz durabilirler. Ama doğru hücreye temas ettiklerinde birdenbire sahne ışıkları yanar. Sanki uykuda bekleyen bir komut dosyası çalıştırılmıştır. Virüs, kendi başına canlı sayılmayacak kadar eksik; fakat canlı sistemlerin içine girdiğinde yaşamı yeniden yazacak kadar etkilidir.

Bu yüzden virüsleri anlamak için onları yalnızca mikroskobik düşmanlar olarak değil, biyolojik algoritmalar olarak da düşünebiliriz. Bir algoritma, belirli koşullar oluştuğunda belirli işlemleri sırasıyla yürüten talimatlar bütünüdür. Virüs de benzer şekilde çalışır: uygun hücreyi bul, yüzeye tutun, genetik materyali içeri sok, hücrenin üretim makinelerini ele geçir, kopyalarını üret, dışarı çık ve döngüyü tekrarla. Kulağa bir bilgisayar virüsü gibi geliyor, çünkü gerçekten de mantık aynıdır: sistemin kendi kaynaklarını, sistemin aleyhine kullanmak.

Ekranda Aynı, İçeride Devrim: Kod Refaktörünün Gizli Estetiği

Kod refaktörü, yazılım dünyasının en tuhaf sanatlarından biridir: Seyirci salona girer, perde açılır, sahne aynı görünür. Düğmeler aynı yerde, ekran aynı renkte, kullanıcı yine aynı işlemi yapar. Fakat kulisin arkasında dekor sökülmüş, kablolar etiketlenmiş, oyuncuların giriş çıkışları yeniden düzenlenmiş, yangın çıkışları açılmıştır. Dışarıdan hiçbir şey değişmemiştir; içeride ise küçük bir uygarlık kurulmuştur.

Bu yüzden refaktör, sadece teknik bir işlem değil, bir ahlak biçimidir. Çünkü hızlıca çalışan ama içten içe çürüyen kod ile karşılaşan geliştirici, iki yoldan birini seçer: Ya halının altına bir hata daha süpürür ya da diz çöküp zemindeki çatlağı onarır. Refaktör yapan kişi, gelecekteki bilinmeyen bir meslektaşına, hatta çoğu zaman kendisinin üç ay sonraki hâline not bırakır: Burada seni bekleyen bir mayın yok, rahat yürü.

Ölü Kod Mezarlığı: Sistemi Yavaşlatan Hayalet İnançlar

Her yazılım sisteminin bodrum katında bir mezarlık vardır. Orada artık çalışmayan fonksiyonlar, yıllar önce terk edilmiş koşullar, kimsenin çağırmadığı sınıflar ve üstüne not düşülmüş kadim büyüler uyur: sakın silme, bir gün lazım olabilir. Ölü kod tam olarak budur; programın yaşayan akışına katkısı olmayan ama depoda yer kaplayan, zihni meşgul eden, bakım maliyetini artıran eski parçalar. İlginç olan şu: Ölü kod teknik bir mesele gibi görünür, ama çoğu zaman psikolojik bir arızanın izidir. Kod çalışmaz; korku çalışır.

Bir ekip düşünün. Beş yıl önce yazılmış bir ödeme modülünün içinde devasa bir if bloğu duruyor. Artık hiçbir müşteri o yolu kullanmıyor, dokümantasyon onu anmıyor, testler ona uğramıyor. Ama biri silmeyi önerdiğinde odada sessizlik oluşuyor. Çünkü kodun kendisinden çok, onun etrafındaki efsane yaşıyor: Eski CTO bunu yazmıştı. Büyük bir müşteride sorun çıkarmıştı. Bir ara kampanya döneminde hayat kurtarmıştı. İşte yazılımda ölü kod, çoğu zaman eski bir savaşın madalyasıdır; paslanmıştır ama kimse duvardan indirmeye cesaret edemez.

Fırça Yerine Değişken: Sanatçı Kodun İçine Girince Ne Olur?

Bir ressamın tuvale yaklaşıp ilk çizgiyi atmasıyla, bir parametrik tasarımcının ekrana eğilip ilk değişkeni yazması arasında tuhaf bir akrabalık vardır. İkisi de boşlukla karşı karşıyadır. Fakat biri boşluğu boya ile ikna ederken, diğeri onu kurallarla baştan çıkarır. Görsel sanatlarda parametrik tasarım, sanat eserini tek bir nihai nesne olmaktan çıkarıp davranan, çoğalan, evrilen bir sisteme dönüştürür. Artık eser yalnızca “neye benziyor?” sorusuyla değil, “hangi koşullarda nasıl değişiyor?” sorusuyla da var olur.

Parametrik tasarımın kalbinde basit ama sarsıcı bir fikir yatar: Form, doğrudan çizilmek yerine parametrelerle tanımlanabilir. Bir çizginin uzunluğu, bir yüzeyin kıvrımı, bir desenin yoğunluğu, renklerin dağılımı ya da öğelerin birbirine uzaklığı sayılarla, oranlarla, olasılıklarla yönetilir. Sanatçı burada sadece görüntü üretmez; görüntü üreten bir düzenek kurar. Bu düzenek bazen bir bahçe gibidir: Tohumu sen seçersin, toprağı sen hazırlarsın, ama her yaprağın tam olarak nereye uzanacağını önceden bilemezsin.