Ana Sayfa

Swift ve Kotlin'in 'Karanlık Yolu': Aşırı Statik Tiplendirme

1 dk okuma

Robert C. Martin (Uncle Bob), son zamanlarda Swift ve Kotlin dillerini incelediğini ve bu iki dilin benzerliklerinin dikkat çekici olduğunu belirtiyor. Her iki dilin de lambda gibi bazı fonksiyonel programlama özelliklerini entegre etmesini olumlu bulsa da, asıl endişesinin dillerin statik tiplendirmeye aşırı vurgu yapması olduğunu ifade ediyor. Martin, bunun "karanlık bir yol" olabileceğini düşünüyor.

Martin, statik tipli dillere karşı olmadığını, hatta hem dinamik hem de statik tipli dilleri kullandığını, ancak Swift ve Kotlin'deki statik tiplendirmenin derinliğinin kendisini kaygılandırdığını vurguluyor. Java'yı statik tiplendirme konusunda "aşırı görüşlü" bulmazken, Swift ve Kotlin'i tip kuralları konusunda tamamen esnek olmayan diller olarak tanımlıyor. Örneğin, Swift'te bir fonksiyonun bir istisna fırlattığını belirtirseniz, çağrı yığınının her seviyesinde bu istisnayı yakalamak veya işaretlemek zorunlu hale geliyor. Bu durum, istisnaları üst seviyeye sessizce fırlatmanın bir yolunu bırakmıyor.

Yazar, bu yaklaşımın bazıları için iyi bir şey olabileceğini, çünkü kontrolsüz istisnalardan kaynaklanan birçok hatanın önüne geçebileceğini kabul ediyor. Ancak asıl sorunun, bu riski yönetme görevinin dilin mi yoksa programcının mı olduğu olduğunu ortaya koyuyor. Kotlin'in de sınıf türetme ve fonksiyon geçersiz kılma konularında benzer kısıtlamalara sahip olduğunu ekleyerek, bu dillerin programcının esnekliğini kısıtladığına dikkat çekiyor.

İçgörü

Yeni nesil programlama dillerinin aşırı katı statik tiplendirme yaklaşımları, yazılım geliştirme süreçlerinde esneklik ve sorumluluk dağılımı üzerine önemli tartışmaları beraberinde getiriyor.

Kaynak