Statik ve dinamik tipli programlama dili karmaşası

Merhaba, mesela Kotlin statik bir programala dili olarak geçiyor ve statik programala dilinin tanımında da degişkenlerin yazılımcı tarafından belirlendiği yazıyor. Fakat Kotlin değişkenleri kendi tanımlıyor. Ek olarak biz de tanımlayabiliyoruz ama sonuçta ilk kendisi tanımlıyor. Buna göre Kotlin’in dinamik bir dil olması gerekir. Kafam iyice karıştı. Yardımcı olur musunuz?

Statik tip sistemlerinde değişken tipleri derleme anında bilinir ve doğruluğu yine derleme anında kontrol edilir. Yazılımcının açık bir şekilde değişken türünü belirtmesi şart değil.

Kotlin’de type inference var, derleyici belli bir yere kadar değişkenlerin türünü programın tamamı ile tutarlı olacak şekilde kendi seçebiliyor.

1 Beğeni

Statik tipli bir programlama dil olarak geciyor?

Degiskenleri her zaman yazilimci belirler,

Programcinin val/var ile tanimliyor olmasi lazim.

“Dinamik dil” (dinamik tiplere sahip bir dilden ziyade) degiskenlerin, fonksiyonlarin calisma aninda gorulebildigi, degistirilebildigi, cogunlukla interpret edilen, ama daha onemlisi interpreter’ina mudahale edilebilen dil anlamina geliyor. Kotu bir tanim yapmis olabilirim; Wikipedia daha iyisini yapiyor.

Tip sistemlerini konusuyorsak somut orneklerle gitmekte fayda var.

Akademik tartismalarda python statik tipli de, dinamik tipli de olabiliyor mesela.