Bir Değişkenin Hayatı: Scope Bittiğinde İnsan Ne Kaybeder?

Bir Değişkenin Hayatı: Scope Bittiğinde İnsan Ne Kaybeder?

Programlamada bazı gerçekler yalnızca doğdukları yerde geçerlidir. Bir fonksiyonun içinde tanımlanan yerel değişkeni düşünün: Değeri vardır, görevi vardır, hatta kısa ömrü boyunca bütün hesaplamanın kaderini değiştirebilir. Fakat fonksiyon sona erdiği anda o değişken dışarıdan erişilemez olur. Dış dünya için artık yoktur. Bu, basit bir teknik ayrıntı değil; bilginin, yetkinin ve anlamın bağlama bağlı oluşuna dair güçlü bir modeldir.

scope, yani kapsam, bir ismin nerede tanındığını belirler. Aynı değişken adı iki farklı blokta kullanılabilir; fakat bunlar aynı şey değildir. Bir döngüdeki i, başka bir fonksiyondaki i ile akraba bile olmayabilir. İsim aynıdır, kimlik farklıdır. İnsan zihni burada sık sık hata yapar: Kelimelerin aynı olmasının, deneyimlerin de aynı olduğu yanılgısına düşeriz. Oysa kod bize soğukkanlı bir ders verir: Bir kavramı anlamak için önce onun hangi blokta tanımlandığını sormalısınız.