Bir programlama dilinin Turing tam olması, ilk bakışta teknik bir rozet gibi görünür: kutuya yapıştırılmış küçük bir etiket, mühendislerin birbirine başıyla selam verdiği kuru bir ayrıntı. Oysa mesele bundan çok daha kışkırtıcıdır. Çünkü Turing tamlık şunu söyler: Eğer yeterince zaman ve bellek verilirse, bu sistem evrende hesaplanabilir olan her şeyi hesaplayabilir. Bir avuç kural, sonsuz çeşitlilikte davranış üretebilir. Bu, bilgisayar biliminin içinden felsefenin kalbine açılan gizli bir kapıdır.
Basitlikten Sonsuzluğa Açılan Kapı
Turing tam bir sistem için ihtiyacımız olan şeyler şaşırtıcı derecede mütevazıdır: koşullu dallanma, bellek, tekrar edebilme yeteneği. Yani sistem, geçmişte ne yaptığını bir şekilde tutabilmeli, duruma göre farklı davranabilmeli ve aynı işlemi defalarca uygulayabilmelidir. Hepsi bu kadar. Fakat bu küçük araç takımıyla satranç motoru, web tarayıcısı, yapay zekâ modeli, muhasebe yazılımı, simülasyon ve hatta başka bir bilgisayarın taklidi üretilebilir. Buradaki ders açıktır: Güç, karmaşık kurallarda değil; kuralların doğru biçimde birleşebilmesindedir.
Bu yüzden Turing tamlık, programlama dillerinin eşitlik ilkesidir. Python, JavaScript, C, Rust, hatta teorik olarak çok ilkel görünen bazı oyuncak diller aynı hesaplama sınıfına aittir. Birinde zarifçe yazdığınız algoritma, diğerinde acı çekerek de olsa yazılabilir. Fark üretilebilirlikte değil, ifade kolaylığındadır. Bu, insan dilleri için de tuhaf bir benzetme doğurur: Aynı hakikati farklı dillerde söyleyebiliriz; bazıları şiir gibi akar, bazıları diş gıcırdatır, ama anlamın çekirdeği taşınabilir kalır.
Hesaplanabilir Olanın Sınırı
Fakat burada dikkatli olmak gerekir. Turing tam bir sistem her şeyi değil, hesaplanabilir her şeyi hesaplar. Bu küçük kelime, yani hesaplanabilir, bütün büyüyü disipline eder. Alan Turing bize yalnızca makinelerin neler yapabileceğini değil, neleri yapamayacağını da göstermiştir. Durma problemi bunun en meşhur örneğidir: Her programın durup durmayacağını kesin biçimde söyleyen genel bir program yazılamaz. Demek ki evrensel güç, mutlak güç değildir. Hesaplamanın krallığında bile aşılmaz dağlar vardır.
Bu sınır, teknolojik kibri törpüler. Bugün yapay zekâdan kuantum bilgisayarlara kadar her alanda sanki yeterli işlem gücüyle tüm sırlar çözülecekmiş gibi konuşuyoruz. Oysa Turing tamlık bize iki yönlü bir hakikat sunar: Basit sistemler inanılmaz derecede güçlüdür, ama her sorunun anahtarı algoritma değildir. Bazı düğümler yalnızca zor değil, ilkesel olarak çözümsüzdür. Bilgisayar biliminin bu soğuk teoremi, insan aklına eski bir bilgelik fısıldar: Her kapı kilitli olduğu için değil, kapı olmadığı için açılamaz.
Dil, Makine ve Evren
Turing tamlığın felsefi cazibesi, evrenin kendisine dair sorulara uzanır. Eğer basit kurallardan sınırsız karmaşıklık doğabiliyorsa, doğa yasaları da böyle mi çalışır? Hücresel otomatlar, özellikle Conway’in Hayat Oyunu, bu fikri gözle görünür hâle getirir. Karelerden oluşan bir düzlemde birkaç doğum ve ölüm kuralı belirlenir; ardından sanki küçük yaratıklar hareket eder, çoğalır, çarpışır, desenler kurar. Ortada niyet yoktur, bilinç yoktur, tasarımcı eli yoktur. Yalnızca kural vardır ve kuralın zamanla dansı.
Buradan tehlikeli ama verimli bir düşünce çıkar: Belki de karmaşıklığı anlamak için her zaman daha karmaşık açıklamalara ihtiyacımız yoktur. Bazen bir ormanın sırrı, tek tek yaprakların ruhunda değil, büyüme kuralındadır. Bir ekonominin, bir beynin, bir toplumun veya bir yazılım ekosisteminin davranışı, basit etkileşimlerin uzun vadeli birikimi olabilir. Turing tam diller bu yüzden yalnızca kod yazma araçları değildir; oluşun nasıl katmanlandığını gösteren soyut mikroskoplardır.
Yine de insan programcı için pratik ders çok nettir: Bir dilin Turing tam olması onu iyi yapmaz. İyi dil, düşünceyi sürtünmesiz taşıyan dildir. Turing tamlık motorun çalışabileceğini söyler; ama fren, direksiyon, gösterge paneli ve sürücünün sağ kalıp kalmayacağı ayrı meselelerdir. Bu yüzden yazılım mimarisi, tip sistemleri, okunabilirlik, hata yönetimi ve topluluk kültürü önemlidir. Evrensel hesaplama yeteneği başlangıç çizgisidir, bitiş çizgisi değil.
Sonunda Turing tamlık bize neredeyse Zen gibi bir ders verir: Az, gerçekten az olduğunda çoktur. Birkaç kural, sonsuz davranışa kapı açar; birkaç sembol, evren modelleri kurar; birkaç satır kod, düşünceyi makineye çevirir. Ama aynı anda sınırlarımızı da hatırlatır. Hesaplanabilir olanın imparatorluğunda yaşıyoruz; güçlü, yaratıcı ve tehlikeli bir imparatorluk. Bilgelik ise yalnızca her şeyi hesaplamaya çalışmakta değil, neyin hesaplanabilir, neyin yalnızca yaşanabilir olduğunu ayırt edebilmektedir.