Dynamic Scoping en içteki deklerasyonu kullanırken, Static Scoping’de en yüksek (dıştaki) deklerasyonu kullanılır. Static Scoping’de diğer içerideki scopelardaki (blocklardaki) deklerasyonlar yok sayılır. C dilinde örnek verecek olursak:

Görüldüğü gibi global olan kullanılmaktadır. Diğer 3 deklerasyonu yoksayılmaktadır.

Java dilinde ise C’deki benzer bir olay yaratılamamaktadır. Global Variable yoktur zaten. yeniden declearation yaptığınızda local variable oluşturmuş olursunuz zaten.

Python’da da static scoping vardır.

Modern bütün dillerde static scoping kullanılmaktadır. Dynamic Scoping yani en içteki deklerasyonun kullanılması hataları arttıracağından kullanılmamaktadır. Ancak birtakım programlama dillerinde environment ayarlarını değiştirerek dynamic scoping olarak çalışmasını sağlayabilirsiniz.

Originally published at http://anilkaynr.wordpress.com on April 8, 2020.

Computer Engineer,Sociologist, CSE Master Student

Computer Engineer,Sociologist, CSE Master Student