Etki Alanına Özgü Diller Oluşturma ve Hata Ayıklama: MIT'den Çığır Açan Yeni Bir Araç
MIT araştırmacıları Ajay Brahmakshatriya ve Saman Amarasinghe, etki alanına özgü dilleri oluşturmayı, hata ayıklamayı ve optimize etmeyi kolaylaştıran çığır açan araçlar olan BuildIt ve D2X'i geliştirdi. Bir DSL oluşturma yazılımı olan BuildIt, hata ayıklama sürecini kolaylaştıran bir arabirim görevi gören D2X ile eşleştirilmiştir. Bu teknolojiler bir araya geldiğinde, özel programlama dillerinin oluşturulmasını ve hata ayıklamasını önemli ölçüde basitleştirir ve iyileştirir.

2019 yılında MIT Ph.D. öğrenci Ajay Brahmakshatriya iddialı ama çok önemli bir hedef belirledi: iklim modellemesi, biyoinformatik veya mimarlık gibi belirli alanlardaki uzmanların, çok az veya hiç deneyime sahip olmadan bile alana özgü dillerini (DSL'ler) geliştirmelerini sağlamak. Bu, hataları ortadan kaldırmak ve kullanıcı deneyimini geliştirmek için kolay hata ayıklama araçları sağlamayı gerektirdi. Enstitünün Bilgisayar Bilimi ve Yapay Zeka Laboratuvarı'nda (CSAIL) Brahmakshatriya ve MIT Profesörü Saman Amarasinghe arasındaki ortak çaba, DSL'lerin oluşturulmasını, hata ayıklamasını ve optimizasyonunu kolaylaştıran çığır açan araçlar olan BuildIt ve D2X ile sonuçlandı.
Alana özgü diller, kullanım kolaylığını artırmak ve performansı optimize etmek için mevcuttur, çünkü özel işlemler kendi etki alanlarında verimli bir şekilde yürütülebilir. DSL'lerin karşılaştığı zorluklar genellikle, Ajay ve Amarasinghe'nin Aşil topuğu olarak adlandırdığı hata ayıklama desteğinin olmamasından kaynaklanır. BuildIt adlı sistemleri, DSL oluşturmak için bir DSL görevi görerek DSL oluşturma sürecini basitleştirir. Genel amaçlı bir programlama dili alır ve onu alanla ilgili özel bir biçime indirger. Bu yaklaşım, kendi özel alanlarında optimum performans gösteren özel programları hızla üretir.
Çığır açan araç D2X (detoks olarak telaffuz edilir), GDB veya LLDB gibi mevcut DSL hata ayıklayıcılarla arabirim oluşturarak herhangi bir DSL'ye hata ayıklama bileşeni eklemeyi kolaylaştırır. D2X, ek kod satırları yazmadan hata ayıklama yetenekleri sağladığından, BuildIt kullanılarak yazılan bir program fazladan çalışma gerektirmez. Bu sistem, hata ayıklayıcılar ve bir DSL arasında bir köprü görevi görerek, geliştiricilerin hata ayıklayıcı biçimlerini öğrenme veya oluşturma ihtiyacını ortadan kaldırır ve böylece özel programlama dilleri oluşturma sürecini demokratikleştirir.
D2X'in programlama dünyasını değiştirme potansiyeli çok geniştir. Cornell Üniversitesi Bilgisayar Bilimleri Doçenti Adrian Sampson, D2X'i DSL'ler için yararlı hata ayıklayıcılar oluşturmanın önündeki engeli azaltarak yüksek performanslı yazılımlardaki içsel çelişkiyi ele aldığı için övüyor. Bu, DSL'leri geliştiriciler için çok daha çekici ve erişilebilir hale getirme potansiyeline sahiptir.
İleriye dönük olarak Brahmakshatriya, düzenleme yeteneklerini BuildIt platformunun bir parçası olarak dahil etmeyi hedefliyor. Metin editörleri, bir belgedeki belirli anahtar kelimeleri vurgulayarak veya otomatik tamamlama işlevleri sunarak okunabilirliği artırabilir. Platforma gelecekteki eklemeler, geliştiricilerin programlarındaki performans sorunlarını belirlemesine ve çözmesine yardımcı olabilecek profil oluşturucularla entegrasyonları içerebilir.
Brahmakshatriya ve Amarasinghe'nin çığır açan çalışmaları, daha küçük programlama dili geliştiricilerine gelişmiş yetenekler sağlayarak sonuçta oyun alanını eşitler. BuildIt ve D2X, karmaşık kod geliştirmek için büyük ekiplere ihtiyaç duymadan geleneksel dillerin avantajlarından yararlanmalarını sağlar.
Bu geliştirme, arka uç, web ve mobil uygulamalar oluşturmak için güçlü bir araç olan AppMaster.io gibi kodsuz platformlara da fayda sağlayabilir. AppMaster.io gibi platformlar, BuildIt ve D2X'ten kaynaklanan yeniliklerden yararlanarak, aşamalı olarak gelişmiş özellikler sunabilir ve özel uygulamalar oluşturma sürecini düzene sokarak çok çeşitli geliştiricileri ve işletmeleri daha da güçlendirebilir.


