Ortak Dil Altyapısı Nedir?

Ortak dil altyapısı (CLI), bilgisayar programlama dili ile birlikte çalışabilirliği destekleyen bir dizi uluslararası teknik standarttır. CLI ayrıca birçok üst seviye dilin platformlardan ve mimarilerden bağımsız uygulamalar geliştirmesine izin verir. Bu amaç için gruplandırılmış ve CLI'ye uyumlu hale gelmek için dört ortak dil programlama spesifikasyonu bölümünü kullanan 30'dan fazla programlama dili vardır.

Ortak tip bir sistem (CTS) olarak adlandırılanın kullanılması, bir dizi veri tipinin ve işleminin kullanılması ve programlama yapıları üzerindeki meta veri bilgilerinin kullanılması, diller arası kod yazmaya izin verir. CLI, dilleri ortak bir ara dilde (CIL) derler ve CIL'den, uygulama yönlerini donanıma hitap eden montaj makinesi diline iletir. Ek olarak, birlikte çalışmayı isteyen herhangi bir dilin kullanması için belirlenen temel kurallar olan ortak dil özellikleri (CLS) ve tüm CLI uyumlu programların yükleme, yürütme ve çalıştırma kodlarının oluşturulması için sanal yürütme sistemi (VES) vardır. .

CLI uyumlu dillerin çoğu, ortak dil çalışma zamanını (CLR) kullanarak doğrudan CIL'ye derlenir. Derlenmiş ve önbelleğe alındıktan sonra, tam zamanında bir derleyici daha sonra makine kodunu mevcut mimariden tahsis eder. Montaj makinesi kod yapısı, önceden bir derleyici ile CLR'den önce de yapılabilir.

CLI uyumlu dillerin nesne özelliğinden yararlanmaları için, ortak dil altyapısı, nesnelerin yalnızca çağrılırken diğer CLI uyumlu dillerle ortak tuttukları özellikleri göstermesi gerektiğini belirtir. Yalnızca CTS'de kabul edilen veri türlerini kullanmak için geliştirilen kod bileşenlerinin, CLI uyumlu olduğu ve diğer tüm CLI uyumlu diller tarafından erişilebilir olduğu söylenir. Ek olarak, kodun tür güvenliği ile hızlı bir şekilde doğrulanamayan herhangi bir dilin yapısı CLS'den hariç tutulur, böylece yalnızca doğrulanabilir kodların CLS uyumlu olduğu söylenebilir.

Bazı programlama özellikleri hem derleyiciler hem de geliştiriciler için ortaktır ve diğerleri yalnızca derleyiciler için kullanılabilir. Liste uzun ve yararlı özelliklerle dolu. Yalnızca derleyiciler için kullanılabilen bir özellik şudur: referans tanımlayıcıları sağlayan ve sanal yöntemleri anahtar sözcük adlarıyla geçersiz kılan anahtar kelimeler. Hem derleyiciler hem de geliştiriciler için mevcut olan bir özellik şunları içerir: Değerlendiricilerin yanı sıra bir özelliğin tümü “statik” olmalı, hepsinin “sanal” olması gerektiğini, her birinin “örnek” olması gerektiğini söyleyen değiştirici özellikler.

Uygulama programları masaüstü bilgisayarlar, sunucular, mobil cihazlar ve oyun konsolları içindir. Bilgisayarla görme geliştirme programları ve düşük seviyeli sanal makine araç takımları, ortak dil altyapısına uyumlu dillerden de geliştirilmiştir. Ortak dil altyapısı çalışma zamanları sistem kaynaklarını tahsis eder ve platformdan bağımsız olmalarına rağmen çevresel aygıtları verimli şekilde çağırır.