Kod Derlenirken Yakalanan Hatalar, Hayat Yaşanırken Patlayan Krizler

Programlama dünyasında iki tür felaket vardır: biri daha sahne açılmadan kapıda yakalanır, diğeri ise tam seyirci alkış beklerken dekoru başınıza yıkar. Birincisine derleme zamanı hatası deriz; ikincisine çalışma zamanı hatası. İlki öğretmen gibi kırmızı kalemle gelir: Burada noktalı virgül eksik, bu değişken tanımsız, bu tür bu türe uymaz. İkincisi ise hayatın kendisi gibidir: Her şey düzgün görünür, uygulama açılır, kullanıcı gülümser, sonra bir veri boş gelir ve sistem içsel bir çığlık atarak çöker.

Derleme zamanı, yazılımın prova odasıdır. Kod henüz gerçek dünyaya çıkmamıştır. Derleyici, katı ama faydalı bir kapı görevlisi gibi davranır. Üzerinizde kravat yoksa içeri almaz. Değişkeni tanımlamadıysanız, fonksiyona yanlış tip gönderdiyseniz, sözdizimini bozduysanız sizi durdurur. Bu bazen sinir bozucudur; çünkü insan yaratıcı akışın ortasında bir makinenin kendisine dil bilgisi dersi vermesinden hoşlanmaz. Ama derleyicinin kabalığında şefkat vardır. Size şunu söyler: Bu hata şimdi canını sıksın ki daha sonra müşterinin, hastanın, uçağın ya da banka hesabının canı yanmasın.

Evren Bir Statik Site Olsaydı: Kader, Derleme ve Önceden Yazılmış Sayfalar

Bir statik site üreticisi ilk bakışta mütevazı bir araçtır: Markdown dosyalarını, şablonları ve görselleri alır; ardından bunları ziyaretçiye hazır HTML sayfalarına dönüştürür. Jekyll, Hugo ya da Eleventy gibi araçlar, web sitesini kullanıcı geldiği anda icat etmez. Site çoktan derlenmiştir. Ziyaretçi yalnızca önceden kurulmuş bir dünyada dolaşır. İşte bu teknik ayrıntı, ontolojinin en eski sorularından birine beklenmedik bir pencere açar: Gerçeklik de bizim karşılaşmamızdan önce, bütün ayrıntılarıyla “derlenmiş” olabilir mi?

Deterministik evren modelinde her olay, önceki koşulların zorunlu sonucudur. Başlangıçtaki madde dağılımı, fizik yasaları ve zamanın akışı verildiğinde, sonraki her an teorik olarak hesaplanabilir olur. Bu görüşte gelecek, henüz bizim deneyimimize sunulmamış olsa da nedensel zincirin içinde zaten içerilmiştir. Statik bir sitedeki “hakkımızda” sayfası da ziyaretçi o bağlantıya tıklamadan önce vardır. Tıklama, sayfayı yaratmaz; yalnızca ona erişim sağlar.