Koray PEKER
Menu
  • Anasayfa
  • Kütüphane
  • Kategoriler
    • Java
    • Spring
    • Tasarım Şablonları
    • Git
    • Maven
    • ORM Çatıları
    • VCS
    • SDLC
    • DevOps
    • Algoritma
    • Eğitim
    • Diğer
  • Hakkımda
Menu

Type Checking Nedir ?

18 Mart 20141 Ocak 2019 tarihinde yayımlandı

İki tip Type Checking mekanizması vardır ; Statik type checking ve dynamic type checking

Static Type Checking ( STC )

Bir variable tanımlarken bunun tipini compile time ‘ da belirtilmek zorundasındır ve artık o variable o tip üzerinden işlem görür.

int x = 10;

yazdiginda zaten static typing kullaniyorsun demektir. Yani compiler x degiskenini tipini taniyor. Java programlama dili static typing kullaniyor.

Dynamic Type Checking ( DTC )

Dynamic Type Checking yapan programlama dillerinde örneğin Ruby ;

x = 10;

yazabilirsin, hangi tipte oldugunu belirtmen gerekmiyor. Compiler yapilan isleme göre ya da x in sahip oldugu degere göre bu degiskenin tipini belirliyor, gerekirse baska bir tipe dönüstürebiliyor.

Artılar / Eksiler

Static Type Checking çok daha verimli bir kontrol yöntemi. Dynamic Type Checking de, run-time sırasında sürekli tip kontrolleri programı bir nebze yavaşlatmaktadır. Diğer tarafdan Static Type Checking, derleme esnasında tip kontrolleri yapıldığı için programın çalışması sırasında, ekstra tip kontrolü yapılmaz. Bu da uygulamaların çok daha verimli ve hızlı çalıştığı anlamına gelebilir.

STC, diğer yandan çok daha güvenlidir. Derleyici, derleme esnasında herhangi bir hata yakalamadı ise bir tip hatasının oluşmadığı kesindir. Bu yüzden program güvenli bir şekilde herhangi bir hataya maruz kalmadan çalışmasına devam eder. DTC de ise böyle bir kesinlik bulunmadığı için, bu tür güvenlik sağlamaz.

Dynamic Type Checking, run-time esnasında tip kontrollerini yaptığı için her değişkenin tip bilgisi hafızada saklanmak zorundadır. Değişkenlerin içeriğindeki değerler, her işlem sonrası değişebileceği için değişkenlerin o an hangi tipe sahip olduğunun bilinebilmesi bu bilgilere bağlıdır. Bu da ekstra bir hafıza yükü demektir. Diğer tarafdan STC, bu tür bilgilere ihtiyaç duymaz. Ek hafıza kullanımına gere kalmaz.

DTC, geliştiricilere çok büyük esneklik sağlar. Bazı uygulamalarda gelen verinin türünün bilinmediği durumlarda çok kullanışlıdır. Öte yandan programcılar, bir değişkene farklı noktalarda pek çok farklı değer atayabilir.

Kaynaklar :  

http://pythonconquerstheuniverse.wordpress.com/2009/10/03/static-vs-dynamic-typing-of-programming-languages/

http://www.cs.washington.edu/education/courses/cse341/04wi/lectures/13-dynamic-vs-static-types.html

1 yorum yapıldı “Type Checking Nedir ?”

  1. cemil dedi ki:
    7 Ocak 2021, 16:47

    Aslında kendimce şöyle özetleyebilirim DTC: Esneklik Ekstra Hafıza İhtiyacı. STC: Az Hafıza, Güvenirlik ve Daha Hızlı.
    Elinize sağlık çok şahane bir yazıydı. 6 yıl geçmiş ama böylesi hala yok

    Cevapla

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

POPÜLER YAZILAR

  • Bir Yazılımcının Sırt Çantası
  • CI (Continuous integration) ve CD (Continuous Delivery/Deployment)
  • NullPointerException’dan Kaçış
  • İlk işime veda :(
  • Project : Lombok
  • Yük Testi ve SoapUI
  • JAR, WAR, EAR Üçlemesi
  • Enumeration nedir ?
  • Mutable ve Immutable nedir ?
  • REST Mimarisi ve RESTful Servisler

Ara

Son Yazılar

  • Çalışma Masam
  • Apache Kafka
  • Postman API’ları Görselleştirme
  • MongoDB Cheat Sheet
  • Splunk 101 – Giriş
  • Yük Testi ve SoapUI
  • Modern Veri Tabanları
  • Senior Stajyer ?!
  • API Dokümantasyon Önemi ve Swagger
  • Kod Tekrarı(Code Duplication) ve DRY

TAKİP ET

©2023 Koray PEKER