Programlama dili seçtiğimizi sanırız; çoğu zaman seçtiğimiz şey bir dünya görüşüdür. Bir dil bize yalnızca döngü, değişken, sınıf ya da fonksiyon vermez; gerçekliğin nasıl bölüneceğine, zamanın nasıl akacağına, kimlerin kimlere emir vereceğine dair sessiz bir anayasa sunar. Fonksiyonel programlama ile nesne yönelimli programlama arasındaki eski tartışma da bu yüzden sadece teknik değildir. Bir tarafta neredeyse statik, matematiksel, değişmez bir evren; diğer tarafta kimlikleri, rolleri, mirasları ve mesajları olan hiyerarşik bir toplum vardır.
Fonksiyonel evren: Zamanın üzerinde duran kristal
Fonksiyonel programlama, özellikle saf fonksiyonlar ve değişmez veri yapılarıyla çalıştığında, dünyayı Platoncu bir geometri gibi görür. Bir fonksiyon aynı girdiye daima aynı çıktıyı verir. Bugün de, yarın da, üretim ortamında saat üçte panik halinde çalışırken de. Bu, yazılımcıya garip bir huzur verir: Evrenin bir köşesi en azından deterministtir. Değişkenler değişmez, sadece yeni değerler doğar. Geçmiş silinmez; onun üzerine yeni katmanlar eklenir.