Code Is Not the Artwork

Üretken sanat söz konusu olduğunda sıkça karşılaşılan bir yanılgı, sanat eserinin doğrudan kodun kendisi olduğu düşüncesidir. Oysa kod, çoğu zaman yalnızca bir araç değil, bir medium'dur. Bir ressam için boya neyse, bu üretim biçimi için de kod odur: sürecin bir bileşeni, fakat nihai sonuç değil.
Bir sanat eserini yalnızca kullanılan araçlara indirgemek yanıltıcıdır. Bir yağlı boya tabloyu boya tüplerine eşitlemediğimiz gibi, algoritmik bir çalışmayı da yalnızca kaynak koduna indirgemek eksik bir bakış açısı üretir.
Kod burada belirli kuralları tanımlar ve bir davranış alanı oluşturur. Ancak ortaya çıkan iş, çoğu zaman bu yapının ürettiği davranışlarda görünür hale gelir. Renk seçimleri, kompozisyon kararları, rastlantısallığın sınırları, kullanılan veriler ve sanatçının kurduğu ilişkiler; kodun ötesine geçen estetik karar alanını oluşturur.
Sol LeWitt ve Kavramsal Sanat Bağlantısı
Bu yapısal düşünme biçimi, 1960’ların Kavramsal Sanat (Conceptual Art) akımıyla ve özellikle Sol LeWitt’in pratiğiyle güçlü bir paralellik taşır.
LeWitt’in Wall Drawings serisinde sanatçı duvara fiziksel olarak müdahale etmez; yalnızca katı kurallardan oluşan yazılı talimatlar üretir. Eser, bu talimatların başkaları tarafından uygulanmasıyla fiziksel dünyada ortaya çıkar.
Benzer şekilde bu sistem temelli yaklaşımda yazılan kod, bu tür talimat setlerinin dijital karşılığıdır. Asıl değer satırların kendisinde değil, onların kurduğu ilişkiler ağında ve yönlendirdiği olasılık alanındadır.

Olasılıklar Uzayı Olarak Sanat
Aynı sistem, her çalıştırıldığında farklı sonuçlar üretebilir. Bir çalışmada yoğun bir görsel karmaşa ortaya çıkarken, başka bir çalışmada minimal bir kompozisyon üretilebilir. Burada sanatçı tek bir görüntü tasarlamaz; bir olasılıklar uzayı, yani sistemin üretebileceği tüm görsel ihtimallerin alanını kurar.
Bazı durumlarda ise sanatçı bu uzaydan belirli çıktıları seçer. Yüzlerce, hatta binlerce olasılık arasından yapılan bu seçim, sürecin önemli bir parçasıdır. Bu noktada sanatçı, yalnızca bu olasılıklar alanını kuran bir "üretici" değil; kendi algoritmasının ürettiği sonsuz evreni ayıklayan, sınırları çizen ve nihai estetiğe karar veren bir "küratör" rolünü üstlenir.
Örnek: Basit Bir Kural Seti
Yaratıcı kodlama dünyasından Processing ortamında yazdığım basit bir örneği ele alalım:
String[] L= {"·", "|", "•", "–", "—"};
void setup(){size(1280,720);background(0);noLoop();}
void draw(){for(int i=0;i<1200;i++){
float x=random(width),y=random(height),n=noise(x*.005,y*.005),f=n*48+8,b=f*1.2;
noFill();strokeWeight(random(.2,3));stroke(255,30);rect(x-b/2,y-b/2,b,b);
noStroke();fill(255,40);textSize(f);textAlign(CENTER,CENTER);
text(L[(int)random(5)],x,y);}}
Bu kod her çalıştırıldığında elde ettiğimiz çıktılar, aslında dinamik bir sistemin anlık ve geçici birer görünümüdür. Görsel her seferinde başkalaşır; sabit ve kalıcı olan, tekil çıktılar değil, onları üreten ilişkiler bütünüdür.

İstisnai Bir Parantez: Kodun Kendi Estetiği
Kodun kendisi de estetik özellikler taşıyabilir. Kodun estetiği yalnızca işlevselliğinde değil, aynı zamanda kendi iç mimarisinde de görünür. Yazılım dünyasında sıklıkla kullanılan Clean Code ya da Elegant Code kavramları, bir kod diziliminin sadece çalışmasını değil, onun sadeliğini, okunabilirliğini ve matematiksel zarafetini de tanımlar.
Ancak bu estetik, kodun ürettiği sanatla aynı şey değildir. Kodun zarafeti sistemin nasıl kurulduğuyla ilgilidir; sanat ise bu sistemin ürettiği davranışlarda ve deneyimlerde ortaya çıkar.
Kendi pratiğimde sistemler çoğu zaman önceden bütünüyle tasarlanmış yapılardan çok, süreç içinde gelişen ve dönüşen organizmalar gibi davranır. Kod yazma eylemi burada yalnızca önceden belirlenmiş bir fikri uygulamak değil; fikrin kendisini keşfetmenin bir yolu haline gelir.
Bu yaklaşım, yazılım dünyasında zaman zaman "Guerrilla Coding" olarak adlandırılan çalışma biçimleriyle belirli benzerlikler taşır. Guerrilla Coding, hızlı, esnek ve yaratıcı çözümler üretmeye odaklanan; çoğu zaman katı mimari planlardan ziyade mevcut problemin o anki en etkili çözümünü önceliklendiren bir yaklaşımdır. Bu süreçte kestirme yollar, beklenmedik davranışlar ve hatta bazı "hatalar" bazen ortadan kaldırılması gereken kusurlar olarak değil, sistemin davranışını şekillendiren unsurlar olarak değerlendirilebilir.
Benzer şekilde üretim sürecimde de kod, en baştan kusursuz biçimde tasarlanmış kapalı bir yapı olmaktan çok, deneme, keşif ve geri besleme yoluyla evrilen bir süreç işlevi görür. Zaman zaman ortaya çıkan beklenmedik sonuçlar veya teknik sapmalar, düzeltilmesi gereken problemler olmaktan ziyade estetik kararların bir parçasına dönüşebilir.

Kodun Ötesinde
Belki de sorulması gereken daha doğru soru şudur:
Kod bir sanat eseri midir, yoksa sanat eserini mümkün kılan sistemin kendisi mi?
Çoğu durumda ikinci seçenek daha açıklayıcıdır. Kod, tek başına bir görüntü üretmekten ziyade; davranışları, olasılıkları ve ilişkileri tanımlar. Ortaya çıkan şey ise bu yapının görünür hale gelmiş sonucudur.
Bu yaklaşımı anlamak için yalnızca ekrana ya da editöre bakmak yeterli değildir. Asıl mesele, kurulan kurallar bütününün nasıl davrandığı, hangi ihtimalleri açtığı ve bu ihtimallerin neyi mümkün kıldığıdır.