Derleyici Kant’ı Okusaydı: Hata Mesajlarının Ahlakı

Bir derleyiciye duygusal bir açıklama yapmayı deneyin: “Evet, parantezi kapatmadım ama niyetim iyiydi.” Sonuç değişmez. Kod ya kurallara uygundur ya da değildir. Derleyici mazeret dinlemez, bağlamdan etkilenmez ve arkadaş hatırına sözdizimini esnetmez. Bu tavır, ilk bakışta Immanuel Kant’ın evrensel ödev ahlakını andırır. Kant’a göre ahlaki eylemin değeri, sonuçlarından veya kişisel eğilimlerden değil, herkes için geçerli olabilecek bir ilkeye dayanmasından gelir. Derleyici de sanki şöyle sorar: “Yazdığın ifade, dilin bütün programlara uygulanabilen yasasıyla uyumlu mu?”

Sözdiziminin kategorik buyruğu

Kant’ın kategorik buyruğunun en ünlü biçimi, yalnızca evrensel yasa olmasını isteyebileceğimiz ilkelere göre davranmamızı söyler. Programlama dilinde bunun karşılığı açıktır: Bir kural yalnızca sizin kodunuza özel değildir. Noktalı virgül gerekiyorsa herkes için gerekir; bir değişken tanımlanmadan kullanılamıyorsa, karizmatik programcılara ayrıcalık tanınmaz. Derleyicinin adaleti tam da bu kişisizliğinde yatar. Kim olduğunuzu değil, ne yazdığınızı değerlendirir. Torpil yoktur; yalnızca satır ve sütun numarası vardır.

Bu katılık güven vericidir. Kurallar keyfî biçimde değişseydi yazılım geliştirmek, kaprisli bir hükümdarla pazarlığa benzerdi. Bugün çalışan kod yarın “canım istemedi” gerekçesiyle reddedilebilirdi. Evrensel ahlak yasası da benzer bir güvenlik vaat eder: Doğru ve yanlış, güçlülerin çıkarına veya anlık duygulara göre biçim değiştirmemelidir. Hem derleyici hem ahlaki mutlakçılık, tutarlılığı özgürlüğün düşmanı değil, öngörülebilirliğin koşulu sayar.

Ama insan bir program değildir

Yine de benzerlik, önemli bir noktada çatlar. Derleyici kapalı bir biçimsel sistemde çalışır. Kuralları önceden tanımlanmış, sembollerin anlamı sınırlandırılmıştır. Ahlaki hayat ise açık uçludur. Bir yalanın yanlış olduğunu söylemek kolaydır; fakat bir katil, sakladığınız kişinin yerini sorarsa ne olacaktır? Kant’ın katı yorumunda yalan yine yanlıştır. Derleyici mantığı burada kusursuz görünür: İstisna tanımlanmamışsa işlem geçersizdir. Ne var ki insan sezgisi, bazen kurala uymanın kuralın korumak istediği değeri yok edebileceğini fark eder.

Üstelik derleyicinin verdiği karar, kuralların doğruluğunu kanıtlamaz. Yalnızca kodun o kurallarla uyumunu gösterir. Program başarıyla derlenebilir ve yine de kullanıcıların verilerini çalabilir, ayrımcılık üretebilir ya da fevkalade düzenli biçimde yanlış sonuç verebilir. “Derleniyor” demek, “iyidir” demek değildir. Aynı şekilde bir davranışın belirli bir ahlak yasasına uygunluğu, o yasanın adil olduğunu kendiliğinden göstermez. Katı sistemler tarafsız olabilir; fakat tarafsızca uyguladıkları kurallar önyargılı tasarlanmış olabilir.

Hata mı, uyarı mı, bilgelik mi?

Modern derleyiciler yalnızca hata vermez; uyarılar, tür çıkarımları ve düzeltme önerileri de sunar. Bu gelişim, ahlak için ilginç bir modeldir. Belki olgun etik, her durumda sistemi durduran kırmızı bir hata mesajı değildir. Bazen kesin yasalar gerekir: İşkence, köleleştirme veya masumların araçsallaştırılması pazarlığa açılmamalıdır. Bazense bağlamı hesaba katan bir uyarı daha dürüsttür: “Bu eylem genel ilkeye aykırı görünüyor; fakat sonuçları ve istisnai koşulları incele.”

Derleyicinin katılığı bize tutarlılığın değerini, sınırlılığı ise muhakemenin zorunluluğunu öğretir. Ahlak ne bütünüyle esnek bir yorum oyunu ne de insan hayatını sözdizimine indirgeyen mekanik bir denetimdir. Asıl bilgelik, hangi kuralların asla çiğnenmemesi gerektiğini ve hangi kuralların daha derin bir değeri korumak için yeniden yazılabileceğini ayırt etmektir. Çünkü bazen hata kodda değildir; dilin tasarımındadır.